Skip to main content

Grokfast

Project description

Grokfast - Pytorch (wip)

Explorations into "Grokfast, Accelerated Grokking by Amplifying Slow Gradients", out of Seoul National University in Korea. In particular, will compare it with NAdam on modular addition as well as a few other tasks, since I am curious why those experiments are left out of the paper. If it holds up, will polish it up into a nice package for quick use.

Install

$ pip install grokfast-pytorch

Usage

import torch
from torch import nn

# toy model

model = nn.Linear(10, 1)

# import GrokFastAdamW and instantiate with parameters

from grokfast_pytorch import GrokFastAdamW

opt = GrokFastAdamW(
    model.parameters(),
    lr = 1e-4,
    weight_decay = 0.1
)

# forward and backwards

loss = model(torch.randn(10))
loss.backward()

# optimizer step

opt.step()
opt.zero_grad()

Todo

  • run all experiments on small transformer
    • modular addition
    • pathfinder-x
    • run against nadam and some other optimizers
    • see if exp_avg could be repurposed for amplifying slow grads
  • add the foreach version only if above experiments turn out well

Citations

@inproceedings{Lee2024GrokfastAG,
    title   = {Grokfast: Accelerated Grokking by Amplifying Slow Gradients},
    author  = {Jaerin Lee and Bong Gyun Kang and Kihoon Kim and Kyoung Mu Lee},
    year    = {2024},
    url     = {https://api.semanticscholar.org/CorpusID:270123846}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grokfast_pytorch-0.0.4.tar.gz (145.6 kB view details)

Uploaded Source

Built Distribution

grokfast_pytorch-0.0.4-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file grokfast_pytorch-0.0.4.tar.gz.

File metadata

  • Download URL: grokfast_pytorch-0.0.4.tar.gz
  • Upload date:
  • Size: 145.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for grokfast_pytorch-0.0.4.tar.gz
Algorithm Hash digest
SHA256 7c8e0720bac030770dc34bd810914b7bc4b0d86cafe5f7dbfbddc95fcbf13595
MD5 aa886c4fba55c843a80f33fe745eacb7
BLAKE2b-256 a3c3564b97e11e7b1360697eada54d43db2629de4f43075ff812b48b30c796c1

See more details on using hashes here.

File details

Details for the file grokfast_pytorch-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for grokfast_pytorch-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e2ed7a7cb76184dd7f627f7809e76178bace2b3645a14ad42ef866641a21cb41
MD5 b33b2ee3ffb6965245c8d0ef499df888
BLAKE2b-256 cc06e01c28c24a10f3cd1081d21c757e37c7b5aefbd8953eb7d1d8447eb2aa6a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page