Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
591 commits
Select commit Hold shift + click to select a range
59794b6
Allow keepdim in JsTensor norm
vinhowe Jul 18, 2025
eee77dc
Lint fix
vinhowe Jul 18, 2025
4708af3
Fix a whole slew of lr scheduler bugs
vinhowe Jul 19, 2025
43edfd0
Update encase to my fork, glam to match
vinhowe Jul 24, 2025
f27c484
Don't do inconsistent casts on CPU
vinhowe Jul 24, 2025
d84de5b
Cast reduce test on GPU
vinhowe Jul 24, 2025
e8d55b2
Actually support norm2 testing
vinhowe Jul 24, 2025
38181fe
Use new formatting for reduce test printlns
vinhowe Jul 24, 2025
2da99f4
Moving dim up in test prop seems to vary it more
vinhowe Jul 24, 2025
7195103
Small typo
vinhowe Jul 24, 2025
06d36f7
First working pass restructuring for dispatcher
vinhowe Jul 18, 2025
cbd5223
Fix some old tests using OpTensor
vinhowe Jul 24, 2025
7e40609
Remove unused OpTensor import
vinhowe Jul 24, 2025
e6a1083
Fix to allow inventory macros in wasm
vinhowe Jul 24, 2025
650c281
TEMP first stab at dispatch
vinhowe Jul 24, 2025
e713488
Massive, ugly, multipronged refactor
vinhowe Aug 9, 2025
ed3d24e
Move op signatures fully into wasm + etc
vinhowe Aug 21, 2025
172e28c
Migrate away from wasm-pack
vinhowe Aug 21, 2025
a49517d
Add untracked gpt2 embedding
vinhowe Aug 21, 2025
2470c48
Collapse nested if statement
vinhowe Aug 21, 2025
10a8d53
Update for fill_constant
vinhowe Aug 21, 2025
1d4c5d5
Misc cleanup in CPU
vinhowe Aug 21, 2025
85bd0f4
Add async support to web op generation
vinhowe Aug 24, 2025
395c4c8
Formatting-driven changes as far as I can tell
vinhowe Aug 26, 2025
c223e92
Implement weak mode, along w/ function mode
vinhowe Aug 26, 2025
2dd54e1
Use my version of wasm-bindgen w/ conveniences
vinhowe Aug 26, 2025
52cfe27
Pin node version to 22.17.1
vinhowe Aug 26, 2025
d63bd2f
Misc web package.json changes
vinhowe Aug 26, 2025
530e03a
Leaving wasm-pack: rollup config
vinhowe Aug 26, 2025
ee3a27f
Type change to support Tensor class wasmization
vinhowe Aug 26, 2025
25f874b
Fix Dropout typing
vinhowe Aug 26, 2025
71ab5e5
Add Muon optimizer
vinhowe Aug 26, 2025
804e543
Formatting + typing fixes for web tests
vinhowe Aug 26, 2025
ccac14b
Leaving wasm-pack: tsconfig changes
vinhowe Aug 26, 2025
abd3812
Update pnpm version we use
vinhowe Aug 26, 2025
05408f8
Override dependency versions(?)
vinhowe Aug 26, 2025
1bc7089
Update pnpm-lock.yaml
vinhowe Aug 26, 2025
c3c6daa
Track dispatch work in git before deleting it
vinhowe Aug 26, 2025
444a12d
Revert "Track dispatch work in git before deleting it"
vinhowe Aug 26, 2025
a524c47
Remove remains of dispatch implementation
vinhowe Aug 26, 2025
45f0bad
Remove old js_tensor_operations macro
vinhowe Aug 26, 2025
21b8b95
Merge pull request #10 from vinhowe/feature/js-api
vinhowe Aug 26, 2025
c5471ae
Remove old invalidation mechanism
vinhowe Sep 1, 2025
7cc3ded
Add retains_grad
vinhowe Sep 1, 2025
bed025d
Add some more descriptive op names
vinhowe Sep 1, 2025
b942bc5
Small reorg of web tensor
vinhowe Sep 1, 2025
fc32dfa
Rename Trilu to TriluOp
vinhowe Sep 4, 2025
a522672
Validate requires_grad, retains_grad
vinhowe Sep 4, 2025
cf55941
Do type promotion for WhereCond
vinhowe Sep 4, 2025
ebd7b2c
Reorganize WebGPU-exfiltration methods
vinhowe Sep 4, 2025
2a991ca
Fix compute_view for scalar cmp
vinhowe Sep 4, 2025
1c23c29
Fix kernel caching issue with cmp
vinhowe Sep 4, 2025
b3598a5
Do more cmp test cases
vinhowe Sep 4, 2025
b3608e1
Make triu and tril kernels distinct
vinhowe Sep 4, 2025
922f0eb
Let rustfmt's will be done
vinhowe Sep 4, 2025
e388919
Add grad for sigmoid
vinhowe Sep 10, 2025
70f95fe
Add grad for concat
vinhowe Sep 10, 2025
9f44289
Make cat recurse to get around shader limitations
vinhowe Sep 10, 2025
ca3dcf7
Update fonts
vinhowe Oct 23, 2025
3e9afd3
Limit Tailwind dir for performance
vinhowe Oct 23, 2025
3b37506
Make sizing compact and adjust for mobile
vinhowe Oct 23, 2025
5d41df4
body, html w-full and h-full
vinhowe Oct 23, 2025
c1094b5
Prevent overscroll
vinhowe Oct 23, 2025
1d3c563
Add Tailwind colors for panels
vinhowe Oct 23, 2025
8ce2eb5
Special font size for numeric
vinhowe Oct 23, 2025
48093c7
Make text-base default on body
vinhowe Oct 23, 2025
9a10f6b
Remove redundant inner div
vinhowe Oct 23, 2025
2b698ba
Make prettier tab width 2
vinhowe Oct 23, 2025
a0c48d3
Remove prettier-plugin-svelte, I guess
vinhowe Oct 23, 2025
c5d494f
Add favicons
vinhowe Oct 24, 2025
e9ad454
Add editorconfig consistent with Svelte
vinhowe Oct 24, 2025
a3e21d3
Add wrangler.jsonc
vinhowe Oct 24, 2025
c66451b
Apparently there was a reason for this
vinhowe Oct 24, 2025
f83df51
Remove default favicon setup
vinhowe Oct 24, 2025
21d75b3
Add svelte layout files
vinhowe Oct 24, 2025
54fe741
Remove blanket SVG ignore rule
vinhowe Oct 24, 2025
65db945
Improve typing for optimizers
vinhowe Oct 24, 2025
59757bb
Slim down optim type assertions
vinhowe Oct 24, 2025
787a57e
Make adamw closer to PyTorch impl
vinhowe Oct 24, 2025
83ac963
Finalize serialization for lr schedulers
vinhowe Oct 24, 2025
a518fea
Remove old print statement
vinhowe Oct 24, 2025
5f409db
Add SequentialLR impl
vinhowe Oct 24, 2025
4287633
Nit; more like PyTorch
vinhowe Oct 24, 2025
32f9659
Clean up SGD imports
vinhowe Oct 25, 2025
3b43612
Add to SGD grad in place
vinhowe Oct 25, 2025
18476af
Add Adam implementation
vinhowe Oct 25, 2025
ed4f0e3
Add generic types to nn modules
vinhowe Oct 25, 2025
893347b
Formatting stuff in alibi
vinhowe Oct 25, 2025
c99a034
Use config objects for layernorms
vinhowe Oct 25, 2025
29dc7b5
Make nn module init. closer to PyTorch
vinhowe Oct 25, 2025
8418218
Add from_tensor to TensorOptions
vinhowe Oct 25, 2025
55c7341
Expose a bunch of ops at global level
vinhowe Oct 25, 2025
ad3577c
Add eye op
vinhowe Oct 25, 2025
8937ca0
Remove old PyTorchy signature comments
vinhowe Oct 25, 2025
d3baff6
Add some missing op variants
vinhowe Oct 25, 2025
6bf94e9
-comment
vinhowe Oct 25, 2025
0df9368
Add new logical cmp ops
vinhowe Oct 25, 2025
06c5d12
Add logical not, isnan, isinf
vinhowe Oct 25, 2025
9c7ddd8
Add flip op
vinhowe Oct 25, 2025
af140ab
Merge rand and const fill shaders
vinhowe Oct 25, 2025
7ad19a3
Add multinomial op
vinhowe Oct 25, 2025
338aca1
Add topk op
vinhowe Oct 25, 2025
2b315aa
Add one-hot op
vinhowe Oct 25, 2025
1c9e39e
Update detach arm in backprop
vinhowe Oct 25, 2025
49224b3
Label todo arms in backprop
vinhowe Oct 25, 2025
784b14d
Everything that goes with updating wgpu
vinhowe Oct 25, 2025
1bf2124
Clunky GPU usage peaks API
vinhowe Oct 25, 2025
5c77af1
Remove JsCast, JsValue from core Device
vinhowe Oct 25, 2025
547b738
Begin pass on bind group pool to mitigate memory leak
vinhowe Oct 25, 2025
540b9ad
Add is_leaf and correct bugs
vinhowe Oct 25, 2025
17838fc
Add clone_inner to uniform
vinhowe Oct 25, 2025
e5715fc
make rvec more robust? don't remember
vinhowe Oct 25, 2025
1261fbf
Add more test cases to cmp
vinhowe Oct 25, 2025
10ef55d
Remove a log debug call
vinhowe Oct 25, 2025
0fa896d
underscore unused debug arg
vinhowe Oct 25, 2025
e9c4ae8
Support i32 gather
vinhowe Oct 25, 2025
e7a0df8
Fix where op!
vinhowe Oct 25, 2025
aecf7bb
Add chunk and split
vinhowe Oct 25, 2025
acaff89
Expose strong count to web API
vinhowe Oct 25, 2025
9cfa9e9
Add clamp
vinhowe Oct 25, 2025
6353e96
Add debug, clone to TensorOptions
vinhowe Oct 25, 2025
edbcc7c
Update some of lazy graph executor API
vinhowe Oct 25, 2025
f4a5bd8
Improve implacing somehow don't remember
vinhowe Oct 25, 2025
dad82f0
JsTensorOrScalar from JsValue
vinhowe Oct 25, 2025
b742bc2
Make randint i32 by default
vinhowe Oct 25, 2025
316fecb
Remove num_resources from pipeline layout pool
vinhowe Oct 25, 2025
b2e71d1
Add initialization methods
vinhowe Oct 25, 2025
9b370ce
Remove AllDims import embedding
vinhowe Oct 25, 2025
2ca1950
Fix comment
vinhowe Oct 25, 2025
8a0ff89
Add generated op name support
vinhowe Oct 25, 2025
26aadb5
Allow returning Vec<Tensor>
vinhowe Oct 25, 2025
6e6ee22
Add "2" to generated norm ord
vinhowe Oct 25, 2025
a498867
Serialize to ArrayBuffer instead of URL
vinhowe Oct 25, 2025
1bf15b5
Save extra JSON in serialization
vinhowe Oct 25, 2025
cdd8393
Add basic deserialization
vinhowe Oct 25, 2025
a323c1a
Add mark-step mode (like function mode)
vinhowe Oct 25, 2025
9eafe45
Make function modes more resilient
vinhowe Oct 25, 2025
025d708
Add Symbol.dispose polyfill to function
vinhowe Oct 25, 2025
331f2cc
mark has_self as unused
vinhowe Oct 25, 2025
867335d
Globals formatting
vinhowe Oct 25, 2025
34f7907
Add result to outdated test
vinhowe Oct 25, 2025
331de0a
Clean out old wasm-pack stuff
vinhowe Oct 25, 2025
d5d6db0
Add guard for zero-sized dims in Embedding
vinhowe Oct 25, 2025
6c5a7ee
Export CrossEntropyLossConfig
vinhowe Oct 25, 2025
287d1c7
Add Sequential module
vinhowe Oct 25, 2025
2ead3d5
Actually export Buffer, Parameter
vinhowe Oct 25, 2025
3f36487
Module deunderscoring
vinhowe Oct 25, 2025
9ae8cf6
Make sure hooks apply to proxied module
vinhowe Oct 25, 2025
5799f35
Undo overzealous typecasting in Module
vinhowe Oct 25, 2025
55d7d1e
Improve ModuleList typing
vinhowe Oct 25, 2025
c23ca21
Add apply method to Module
vinhowe Oct 25, 2025
3d6042d
Make to(device) accept strings as well
vinhowe Oct 25, 2025
1dbc14d
Add loadStateDict to Module
vinhowe Oct 25, 2025
ba79ef4
Leftover debugTensor property access change
vinhowe Oct 25, 2025
7d5a9cb
Remove weird Device typing in sinusoidal
vinhowe Oct 25, 2025
015ba4d
Update tracking.ts to use hooks and modes
vinhowe Oct 25, 2025
9fd8a47
Add grad tracking, clipping utils
vinhowe Oct 25, 2025
21dbeed
Move forEachTensorDeep to utils index
vinhowe Oct 25, 2025
3c8fbb8
Make pin accept arbitrary object
vinhowe Oct 25, 2025
b9dea70
Make function mode, options public
vinhowe Oct 25, 2025
2e812dc
Add markWeak for previously-pinned
vinhowe Oct 25, 2025
c803022
Allow passing a mode into weak fn
vinhowe Oct 25, 2025
5509237
Add mark-step mode to clean up weak mode
vinhowe Oct 25, 2025
ab0157f
Add index for data I never added
vinhowe Oct 25, 2025
5887ed1
TS support for explicit resource management
vinhowe Oct 25, 2025
ca15762
Fix loss gathering with -100
vinhowe Oct 26, 2025
b5ae04d
Kill piston-web/model.rs and unused deps
vinhowe Oct 26, 2025
4f8e9fd
Update custom wasm-bindgen
vinhowe Oct 26, 2025
0f65a31
Remove a bunch of unused packages
vinhowe Oct 26, 2025
6f2b34f
Update pnpm
vinhowe Oct 26, 2025
a2661a3
Delete old example source
vinhowe Oct 26, 2025
f39f0e0
Add initial model modules
vinhowe Oct 26, 2025
2344984
Improve typing in dataloader
vinhowe Oct 26, 2025
25e27a3
Add async iterator support to backend data utils
vinhowe Oct 26, 2025
f0da57b
Newline
vinhowe Oct 26, 2025
61dd614
Formatting
vinhowe Oct 26, 2025
be1c61c
Set opt-level to 3 in workspace Cargo.toml
vinhowe Oct 26, 2025
1825c30
Reformat example package.json
vinhowe Oct 26, 2025
317c791
Remove topLevelAwait from vite config
vinhowe Oct 26, 2025
dd43b4a
Sort vite config imports
vinhowe Oct 26, 2025
cafadd0
vite config formatting
vinhowe Oct 26, 2025
b019c8d
Use function mode vite config
vinhowe Oct 26, 2025
14004b0
Reorder vite config plugins
vinhowe Oct 26, 2025
6b40a20
Move to eslint defineConfig
vinhowe Oct 26, 2025
5df2400
Add other svelte filetypes to eslint typescript
vinhowe Oct 26, 2025
39cfcb1
Add some typescript-eslint rules
vinhowe Oct 26, 2025
a05b503
Add perfectionist linter to example
vinhowe Oct 26, 2025
4c303ea
Add config schema
vinhowe Oct 26, 2025
550570d
Add toy datasets
vinhowe Oct 26, 2025
1d32c71
Add effective train loop
vinhowe Oct 26, 2025
2ef817b
Add workspace state
vinhowe Oct 27, 2025
64546fb
Add initial UI
vinhowe Oct 27, 2025
db69d01
Update package.json
vinhowe Oct 27, 2025
c2c634b
Update pnpm-lock.yaml
vinhowe Oct 27, 2025
3732a04
Add optimizer setup with weight decay groups
vinhowe Oct 27, 2025
e7d6882
Add example support for Muon; make default
vinhowe Oct 27, 2025
e03cc2c
Add learning rate scheduling
vinhowe Oct 27, 2025
8dc298e
Add natural language datasets
vinhowe Oct 27, 2025
3824cd6
Muon formatting
vinhowe Oct 28, 2025
bbbe443
Add initial likelihood-based validation
vinhowe Oct 28, 2025
c3860b5
Add completions validation
vinhowe Oct 30, 2025
3846a8e
Add memory/tensors tracking
vinhowe Oct 30, 2025
e38fe78
Add weak tensor modes
vinhowe Oct 30, 2025
c495afa
Add training VRAM limit option
vinhowe Oct 30, 2025
6ed4171
Add initialization controls
vinhowe Oct 31, 2025
ee69454
Add pause, resume, step
vinhowe Oct 31, 2025
14fb82f
Add parameter counting
vinhowe Oct 31, 2025
e603a4e
Add random seeding + controls
vinhowe Oct 31, 2025
5f2758c
Add positional encoding types
vinhowe Oct 31, 2025
3829382
Add wake lock for training
vinhowe Oct 31, 2025
32a2930
Grammar, parser, tests for capture query language
vinhowe Oct 31, 2025
f67ac8b
Add module selector
vinhowe Oct 31, 2025
27611ed
Add capture, hooking machinery
vinhowe Oct 31, 2025
f2a6b16
Add editor tooling for CQL
vinhowe Oct 31, 2025
6f24487
Update vitest
vinhowe Oct 31, 2025
ed74f2c
Add vitest configs
vinhowe Oct 31, 2025
e068028
Update config for vitest v4
vinhowe Oct 31, 2025
e1fc49e
Update pnpm-lock.yaml
vinhowe Oct 31, 2025
e65cef4
Add visualization to app
vinhowe Nov 1, 2025
caac5f7
Add tour state
vinhowe Nov 1, 2025
081584b
Add checkpointing/saving/periodic restarting
vinhowe Nov 1, 2025
74698e8
Add max steps option
vinhowe Nov 1, 2025
4c5b041
Add grad norm tracking, clipping to app
vinhowe Nov 1, 2025
b24ecab
Add warmup steps
vinhowe Nov 1, 2025
dc3aaff
Add rounding vocab size to nearest multiple
vinhowe Nov 1, 2025
bd6e20b
Add grouped-query attention controls
vinhowe Nov 1, 2025
bda35cc
Add attention gating from newish paper
vinhowe Nov 1, 2025
0511a88
Add attention sink column config
vinhowe Nov 1, 2025
07ae926
Add QK normalization
vinhowe Nov 1, 2025
72781b3
Add logit/attention soft-capping
vinhowe Nov 1, 2025
716ac93
Add weight tying
vinhowe Nov 1, 2025
b9ce943
Add label smoothing
vinhowe Nov 1, 2025
50b5803
Add gated MLP variant, make default
vinhowe Nov 1, 2025
0546bbf
parameter sum to verify inits are identical
vinhowe Nov 1, 2025
8fcaf1e
Do a pass to standardize control ids
vinhowe Nov 1, 2025
750010e
Do away with most obvious controls comments
vinhowe Nov 1, 2025
27923d8
Spacing
vinhowe Nov 1, 2025
4954fe0
Add RNNs in one blob, afterthought that they are
vinhowe Nov 3, 2025
2859817
Update pnpm-lock.yaml
vinhowe Nov 3, 2025
1b6038d
Update README
vinhowe Nov 3, 2025
f728d8e
Rust lint fixes
vinhowe Nov 3, 2025
5787645
Add quickstart presets
vinhowe Nov 3, 2025
f9316b4
Add runs table, short descriptions
vinhowe Nov 3, 2025
11ab5e9
Add current revision
vinhowe Nov 3, 2025
c437017
Add README for web app
vinhowe Nov 3, 2025
ae79086
js_tensor_web_op formatting
vinhowe Nov 3, 2025
ade5214
Formatting rollup.config.ts
vinhowe Nov 3, 2025
7c25d9d
Add Github link
vinhowe Nov 3, 2025
e8882c8
Add prettier svelte plugin
vinhowe Nov 3, 2025
a39b297
Keep class names for CQL
vinhowe Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Needed for WASM unstable features
[build]
rustflags = [ "--cfg=web_sys_unstable_apis" ]
rustdocflags = [ "--cfg=web_sys_unstable_apis" ]
#target = "wasm32-unknown-unknown"
rustflags = ["--cfg=web_sys_unstable_apis"]
rustdocflags = ["--cfg=web_sys_unstable_apis"]
target = "wasm32-unknown-unknown"
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ Cargo.lock
*.pdb
.python-version

crates/ratchet-core/kernel-generated/**
**/*.svg
fixtures/
**/.DS_Store

Expand All @@ -30,3 +28,9 @@ venv/

# proptest regression tests
proptest-regressions/

# samply profile
profile.json

# webdriver configs
webdriver.json
85 changes: 0 additions & 85 deletions ARCHITECTURE.md

This file was deleted.

167 changes: 0 additions & 167 deletions CONTRIBUTING.md

This file was deleted.

33 changes: 17 additions & 16 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
[workspace]
members = [
"crates/ratchet-hub",
"crates/ratchet-core",
"crates/ratchet-web",
"crates/ratchet-loader",
"crates/ratchet-models",
"crates/ratchet-nn",
"crates/ratchet-hub",
"crates/ratchet-cli",
"crates/ratchet-macros",
"crates/ratchet-datasets",
"crates/piston-core",
"crates/piston-web",
"crates/piston-models",
"crates/piston-nn",
"crates/piston-macros",
"crates/piston-datasets",
]
resolver = "2"
edition = "2021"
edition = "2024"

[profile.test]
debug = 2
Expand All @@ -21,14 +17,14 @@ debug-assertions = true
[profile.release]
panic = 'abort'
lto = "fat"
codegen-units = 1
opt-level = 3

[profile.profiling]
inherits = "release"
debug = 2

[workspace.dependencies]
wgpu = { git = "https://github.com/vinhowe/wgpu", branch = "feature/multi-dim-compute-subgroups", features = [
wgpu = { git = "https://github.com/vinhowe/wgpu", rev = "8aa00b0ef4b2903b542741213f3ad186c4c32186", features = [
"fragile-send-sync-non-atomic-wasm",
] }
bytemuck = { version = "1.14.0", features = [
Expand All @@ -49,19 +45,19 @@ anyhow = "1.0.79"
tokenizers = "0.19.1"

js-sys = "0.3.64"
wasm-bindgen = "0.2.91"
wasm-bindgen = "0.2.104"
wasm-bindgen-test = "0.3.34"
cfg-if = "1.0.0"
chrono = "0.4.35"
clap = "4.5.3"
console_error_panic_hook = "0.1.7"
console_log = "1.0.0"
dot3 = "0.1.0"
encase = { git = "https://github.com/cwfitzgerald/encase", branch = "add-member" }
encase = { git = "https://github.com/vinhowe/encase", branch = "add-member" }
env_logger = "0.11.3"
fern = "0.6.2"
getrandom = "0.2"
glam = "0.28.0"
glam = "0.30.4"
globwalk = "0.8.1"
gloo-net = { version = "0.5.0", default-features = false }
hound = "3.5.1"
Expand Down Expand Up @@ -108,3 +104,8 @@ memmap2 = "0.9.5"
maybe-async = "0.2"
async-trait = "0.1.77"
bitvec = { version = "1", default-features = false, features = ["alloc"] }
paste = { version = "1.0.15" }
tsify = { version = "0.5.5", features = ["js"] }

[patch.crates-io]
wasm-bindgen = { git = "https://github.com/vinhowe/wasm-bindgen", rev = "4b4f9cd9731cf35725727bcac92940d51a559a50" }
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
MIT License

Copyright (c) 2025 Thomas Vincent Howe
Copyright (c) 2024 Christopher Fleetwood

Permission is hereby granted, free of charge, to any person obtaining a copy
Expand Down
14 changes: 4 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
<p align="center">
<b>For the time being, I don't have instructions on how to run this. You're on your own for a tiny bit :)</b>
</p>
# sequence toy + Piston library

<div align="center">
<img width="200px" src="https://github.com/vinhowe/ratchet-backward/raw/master/.github/ratchet.png">
<p align="center">
<code>(backward)</code>
</p>
<br>
</div>
Train small sequence models in your browser with WebGPU.

## Attribution

This is a fork of [Ratchet](https://github.com/huggingface/ratchet), hacked and butchered to add backpropogation, to show that it is technically possible to train language models in a (WebGPU-enabled) browser.

Expand Down
Loading