Soup's author is Alpamys Makazhan, not "Alpamis Makajan," he is one of two co-founders of a Delaware company, and the 119.6 tok/s the video credits to "a developer" is his own pre-repair measurement
Watch on TikTok
The artifact is a 69.474-second vertical TikTok, 720x1280 at 30 fps, aspect ratio 0.56, in a QuickTime/MOV container (mov,mp4,m4a,3gp,3g2,mj2) carrying an HEVC Main-profile video stream at yuv420p and 204,545 bps over 2,084 frames plus an HE-AACv2 audio stream at 44,100 Hz stereo and 64,171 bps, for an overall 275,487 bps and a filesize of 2,392,398 bytes, confirmed by ffprobe rather than taken from metadata.json alone; the format id is bytevc1_720p_275483-1. It was posted at epoch 1791467859, which is 2026-10-08T13:57:39Z, by uploader ai.with.andrew (uploader_id 6958210029728678918, channel_id MS4wLjABAAAAZIpwffBvvqiehBOnAhX1t97dxeaeTIW_g8poQedMVD_q9UNeyDoqO0VyKkNhJ_TV), with the audio credited to the track "Million Dolla Hip Hop" by Brentin Davis off the album of the same name. The description runs 309 characters and ends in the tags #AI #AITools #MachineLearning #OpenSource. At capture time, the mtime on metadata.json being 2026-10-19 00:48:44 local, the counters read 82,000 views, 4,181 likes, 130 comments, 627 reposts and 3,679 saves. I read 12 of the 35 extracted frames, numbers 001, 004, 007, 010, 012, 015, 018, 021, 026, 030, 033 and 035, which at the 0.5 fps extraction rate sit at 0, 6, 12, 18, 22, 28, 34, 40, 50, 58, 64 and 68 seconds; the transcript is 211 words across 20 Whisper segments. Frame 001 is a split screen: the top half shows a young man in a navy hoodie standing in what reads as Almaty airport, with an "air astana" gate display reading "Gate D05" and "Алматы" behind him and a MOSTBET billboard bearing the phone number "+7 701 533 53 55," holding open a laptop whose dark webpage headline reads "Stop tuning. Start training."; the bottom half is the narrator, a bearded man in a black t-shirt at a desk with an RGB-lit condenser microphone and a silver laptop, and the caption reads "A solo founder from". Frame 004 is stock footage of a white PlayStation 5 console and DualSense controller in front of a TV under the caption "that costs less"; frame 007 is the narrator under "here's the problem"; frame 010 is stock footage of hands pointing at a laptop showing unrelated HTML and JavaScript tutorial markup under "writing custom training"; frame 012 is stock footage of a man at a video-editing timeline reading "YEREVAN" under "and use someone"; frame 015 is a Claude web interface with a sidebar conversation titled "Adobe retouch portraits," the composer containing the single word "Use" and a model selector reading "Sonnet 4.6," under the caption "you describe what"; frame 018 is a notebook.ipynb window whose visible code is from unsloth import FastLanguageModel followed by FastLanguageModel.from_pretrained(model_name = "unsloth/Meta-Llama-3.1-8B", max_seq_length = 2048, load_in_4bit = True), get_peft_model(r = 16, target_modules = ["q_proj", "k_proj", "v_proj", "o_proj"], lora_alpha = 16, lora_dropout = 0, use_gradient_checkpointing = "unsloth") and an SFTTrainer block with per_device_train_batch_size = 2, gradient_accumulation_steps = 4, max_steps = 60, learning_rate = 2e-4, optim = "adamw_8bit", under "out everything else"; frame 021 is a blurred scroll of Soup's own README showing its "Contact" and "Citing Soup" sections, including the email makazanalpamys@gmail.com and the citation line "Makazhan, A. (2026). Exact Layer Streaming: LoRA Fine-Tuning of an 8B Model..." with the DOI link https://doi.org/10.5281/zenodo.21771064, under the caption "as layer streaming"; frame 026 is Soup's own landing-page animation, a card labeled "MEASURED ON THIS BOX" over "Llama-3.1-8B-Instruct, LoRA, batch 1, seq 512" and "RTX 3050 Laptop, 4 GB VRAM," with a counter mid-climb at "3.14 GB," pills reading "119.6 tok/s" and "GPU utilisation 100%" and "3.60 GB RAM store, page locked," a "4.00 GB card" line, and the footer "Peak 3.32 GB. It stops short of 4.00."; frame 030 overlays the README's release notes, legible enough to read "Every number Soup had ever published came from one [lap]top running Windows. From 5-9 August it ran on a borrowed 8xH100 box" and "Llama-3.1-8B NF4 streamed: 119.6 tok/s in a 3.32 GB peak" against "113.00 tok/s in the same 3.32 GB on an H100," under the caption "and got 119"; frame 033 is a plain Y Combinator Hacker News wordmark card under "on Hacker News"; frame 035 is the narrator with the word "SOUP" superimposed and the caption "automatically." Spoken, the argument is that a lone Kazakh founder shipped a tool that reduces LLM fine-tuning to one YAML file and one soup train command, and that its layer-streaming trick drops an 8B model's VRAM floor from 16 GB to 3.3 GB so a 4 GB laptop GPU hits 119 tokens per second, ending in a comment-for-link call to action. The transcript's last segment ends at 69.50 s against an audio.mp3 duration of 69.538 s and a container duration of 69.474 s, so nothing in this transcript is timestamped past the end of the audio and there is no Whisper overrun to discount.
The name is Alpamys Makazhan, and the "solo founder" framing is contradicted by the project's own about page
At 9.00 s the video says "His name is Alpamis Makajan, and his tool is called Soup," and the written description renders it "Alpamys Makajan." Neither spelling matches the primary source. The GitHub account that owns the repository is MakazhanAlpamys, and the GitHub API returns name = Alpamys Makazhan. The Zenodo preprint lists the author as "Alpamys Makazhan." The README's own copyright line reads "Copyright 2026 Makazhan Alpamys and the Soup contributors." The surname is Makazhan with a "zh," not Makajan.
The opening claim is a bigger problem. At 0.00 s the video opens "A solo founder from Kazakhstan just made it possible to train your own AI model on a laptop GPU." Soup's own about page at trysoup.dev/about lists a two-person team under a "Team" heading: "Rafik Mamedov, Co-Founder & CEO" and "Alpamys Makazhan, Co-Founder & CTO." The same page states "Soup is developed and maintained by MePlay, Inc.," gives the legal name as MePlay, Inc., the incorporation as "Delaware, United States, October 1, 2025," and the registered address as 1111b South Governors Avenue, STE 40549, Dover, DE 19904. Makazhan's GitHub profile sets company to @SoupTeam and location to San Francisco, CA. The repository carries 1,547 forks and 209 open issues against 9,432 stars, and the README thanks "the Soup contributors" in its license line.
There is a narrower sense in which the video's framing holds. The README's support section says Soup "is built and maintained in the open on a single 4 GB laptop, which is why every performance number in these docs is measured rather than claimed," and the release notes visible in frame 030 confirm "Every number Soup had ever published came from one [lap]top running Windows." The engineering really did run on one cheap machine. The company behind it is a registered Delaware C-corp with a named CEO who is not Makazhan, and the video says none of that.
The technique is "layer streaming," the paper calls it "Exact Layer Streaming," and it has nothing to do with model soups
At 38.78 s the narrator says "But the real trick is something called as-layered streaming," and the written description repeats the error as "as-layer streaming." The on-screen caption in frame 021 reads "as layer streaming," so this is the creator's script and not a transcription artifact. The frame it sits over is Soup's README citation block, which reads "Exact Layer Streaming: LoRA Fine-Tuning of an 8B Model on a 4 GB Laptop GPU." The feature name in the README, the docs and the YAML key is plain "layer streaming," toggled with stream_layers: true and flagged BETA. The Zenodo record confirms the formal title as Exact Layer Streaming, v3, published 13 August 2026 under CC BY 4.0 with Makazhan listed as an independent researcher. The word the video turned into "as" is "exact," and it is load-bearing: the paper's contribution is a correctness protocol "gated on bit-exactness against a resident reference," because, as the about page puts it, "a streamed run that has quietly severed its autograd graph still produces a falling loss curve and looks healthy."
The mechanism the video describes at 48.52 s is close to right. It says Soup gets VRAM "down to 3.3 gigs by loading the model one layer at a time, training it, then swapping the next one in." The about page describes it as the frozen base being "rewritten into one shard per decoder layer, held in CPU RAM or on NVMe, and copied one layer at a time into a small pool of pre-allocated VRAM buffers on a dedicated CUDA stream, so the load of the next layer overlaps the compute of the current one. Only the LoRA adapters stay resident." The layers are not themselves being trained, which is what "loading the model one layer at a time, training it" implies. The base stays frozen. Only the LoRA adapters take gradients, and the streaming exists to feed the frozen weights to each matmul in time.
One thing worth settling because the name invites it: this Soup is not weight averaging. "Model soups" is a separate and older technique from Wortsman et al., arXiv:2203.05482, submitted 10 March 2022 and titled "Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time," which averages the weights of several already fine-tuned models to get accuracy gains at no inference cost. Soup the CLI does supervised fine-tuning, DPO, GRPO, PPO and LoRA adapter work, per its GitHub topics (qlora, sft, dpo, peft, lora, low-vram). It has a soup merge --adapter command that folds a LoRA adapter back into a base model, which is adapter merging, not hyperparameter-sweep weight averaging. The video's use of "fine-tune" is accurate. The naming collision is real and the video does not cause it.
The 3.3 GB peak and 119 tok/s are published numbers, but they came off the maintainer's own laptop on a superseded version, not from an outside developer
At 54.78 s the video says "A developer ran it on a 4 gigabyte laptop GPU and got 119 tokens per second." The README's headline paragraph is specific about whose run that was: "Measured on an RTX 3050 Laptop 4 GB: Llama-3.1-8B-Instruct + NF4 at 119.6 tok/s at 952 MHz, 3.32 GB peak (pre-repair)." That is the maintainer's own box, the same "single 4 GB laptop" the support section names. The Zenodo abstract reports the same pair, 119.6 tokens per second at 3.32 GB peak for Llama-3.1-8B in NF4, alongside 143.1 tok/s at 2.15 GB peak for Qwen2.5-3B in bf16.
There is an outside developer in the record, and the video attaches the wrong number to him. The README continues: "The post-repair run, on another RTX 3050 Laptop 4 GB (@umran666, #1103), reads 208.6 tok/s at 1935-1957 MHz in a 2.40 GB peak." The third-party replication produced 208.6 tok/s and a 2.40 GB peak, not 119. The independent figure the video could have cited is the H100 reproduction at "113.00 tok/s in the same 3.32 GB," which is a different class of hardware entirely.
Both of the video's numbers are also stale in a way the README flags in the same breath. It states that 119.6 and 113.00 "were measured on v0.72.2, before the v0.73.0 correctness repair that cost -4.8% at 32B," and that the pre- and post-repair rows "are not directly comparable" because "large-layer streaming also changed the memory pattern between the two rows." The README is careful to say the 1.74x apparent speedup between 119.6 and 208.6 "is the clock, not a speedup," since the second run sat at 1935 MHz against 952 MHz. The project's own documentation is more cautious about these figures than the 69-second video that quotes them. The revision history is blunter still: the README's "Retracted in v3" note disowns an earlier claim that "layer streaming is bound by host-to-device transfer, not by the GPU," calling it "an inference from the H100 replication below, and it had never been measured."
The 16 GB baseline is the fp16 floor and ignores QLoRA, which moved it three years earlier
At 41.78 s the video says "Normally, loading a full 8 billion parameter model like LLAMA needs at least 16 gigs of VRAM." That is arithmetic for 16-bit weights: eight billion parameters at two bytes each is sixteen gigabytes, before optimizer state, gradients or activations. As a statement about what fine-tuning an 8B model required in October 2026, it skips the step that preceded Soup. QLoRA: Efficient Finetuning of Quantized LLMs, by Tim Dettmers, Artidoro Pagnoni, Ari Holtzman and Luke Zettlemoyer, submitted 23 May 2023, states in its abstract that the method "reduces memory usage enough to finetune a 65B parameter model on a single 48GB GPU while preserving full 16-bit finetuning task performance." Four-bit quantization of an 8B base brings the weights to roughly 4 GB before Soup does anything.
Soup's own README agrees. Its VRAM guide lists "8 GB" of VRAM as sufficient for "~7B" models under "QLoRA 4-bit," naming Llama-3.1-8B and Mistral-7B as the examples, and the Requirements section asks for "8 GB+ VRAM for 7B models with QLoRA." So the practical pre-Soup floor the project itself documents for an 8B model is around 8 GB, not 16. Layer streaming takes it from there to 3.32 GB in the pre-repair row and 2.40 GB in the post-repair one. That is still a real reduction, roughly a halving against the QLoRA floor rather than the five-fold cut against 16 GB that the video implies.
The b-roll undercuts the setup too. At 14.08 s the video describes the old pain as "renting expensive cloud GPUs, writing custom training scripts, and debugging for days," and the notebook it shows at frame 018 is an Unsloth QLoRA script loading unsloth/Meta-Llama-3.1-8B with load_in_4bit = True and a 60-step SFTTrainer. That is a local 4-bit fine-tune in a notebook, about twenty lines long, illustrating the problem Soup claims to solve. Frames 010 and 012 are further stock footage with no connection to any of this: an HTML and JavaScript tutorial page, and a video editor with "YEREVAN" on the timeline.
"Just made it possible" and "went viral on Hacker News" compress a timeline that runs eight months
The repository was created on 2026-02-20T11:05:01Z according to the GitHub API, almost eight months before the TikTok's 2026-10-08 post timestamp. The Show HN the video gestures at with the wordmark card in frame 033 ran on 2026-08-04T11:17:57Z under the title "Show HN: Fine-tune an 8B model on a 4 GB laptop GPU," submitted by MakazhanAlpamys himself, linking to the repository. At the time I checked the Algolia index it stood at 139 points and 28 comments, with the author's own top comment explaining that "during LoRA the base is frozen, read, never written. It doesn't need to live in VRAM, it needs to arrive before the matmul that uses it."
A self-submitted Show HN at 139 points is a good day on Hacker News. Calling it viral at 63.64 s stretches the word; front-page Show HN posts clear that range routinely. The claim at 63.64 s that "the whole thing is open source" checks out exactly: the GitHub API reports the license as Apache-2.0, the README states "Soup is Apache-2.0 and free, and stays that way," and the about page says "There is no paid tier and nothing held back for a commercial edition." The Zenodo preprint is CC BY 4.0.
The other date worth pinning is the one frame 030 shows. The README's note that "From 5-9 August it ran on a borrowed 8xH100 box" is the same window the about page describes as "three borrowed days on an 8x H100 box" in August 2026, which closed the gap in verifying a streamed run against a resident reference and "found a gradient defect above a certain layer size that three releases of passing tests had missed." The Show HN went up on 4 August, the day before that validation run began.
"A laptop GPU that costs less than a PlayStation" compares a soldered mobile chip to a console with a published price
At 0.00 s and 6.06 s the hook is that the tool trains a model on "a laptop GPU that costs less than a PlayStation," over PS5 stock footage in frame 004. The GPU in question is the GeForce RTX 3050 Laptop GPU, named in both the README and the on-screen card in frame 026. Mobile GPUs are soldered to the mainboard and are not sold at retail as separate parts, so there is no price to compare against. The cheapest complete machines carrying a 4 GB RTX 3050 sit in the same band as or above a PS5, but I could not source that from a first-party manufacturer page and I am marking it unverified rather than citing a retail aggregator.
The console side has a primary source. Sony's own PlayStation Blog post of 27 March 2026 announced US recommended retail prices "effective starting April 2, 2026" of $649.99 for the PS5 with disc drive, $599.99 for the PS5 Digital Edition and $899.99 for the PS5 Pro. Secondary coverage reports those increases being rolled back on 21 August 2026 to $549.99, $499.99 and $749.99, which would be the figures in force when this video posted on 8 October, but I did not find a first-party PlayStation post confirming the rollback and am not citing the ones I could not verify. Either way, the comparison the hook draws is between a part that has no standalone price and a console whose price moved twice in 2026.
Key Takeaways
- Correction: The video says at 9.00 s "His name is Alpamis Makajan" and the description writes "Alpamys Makajan." The GitHub API, the Zenodo preprint and the README copyright line all give the name as Alpamys Makazhan.
- Correction: The video opens on "A solo founder from Kazakhstan." The project's about page lists two co-founders, Rafik Mamedov as CEO and Alpamys Makazhan as CTO, and names MePlay, Inc., incorporated in Delaware on 1 October 2025, as the maintaining entity.
- Correction: At 54.78 s the video credits "a developer" with "119 tokens per second" on a 4 GB laptop GPU. The 119.6 tok/s at 3.32 GB figure is the maintainer's own measurement on his own RTX 3050 Laptop. The outside replication, from @umran666 in issue #1103, reads 208.6 tok/s at a 2.40 GB peak.
- Correction: The technique is "layer streaming," formally "Exact Layer Streaming" per the Zenodo title. The video says "as-layered streaming" at 38.78 s and the description writes "as-layer streaming."
- Partial correction: The video's 16 GB baseline at 41.78 s is the fp16 weight figure. QLoRA cut that floor in May 2023, and Soup's own VRAM guide lists 8 GB as sufficient for a 7B to 8B model under QLoRA 4-bit. Layer streaming's real gain is 8 GB to 3.32 GB, not 16 GB to 3.3 GB.
- Partial correction: At 48.52 s the video says Soup loads "the model one layer at a time, training it, then swapping the next one in." The streamed base stays frozen. Only the LoRA adapters are resident and only they take gradients.
- Verified: The 3.32 GB peak and 119.6 tok/s figures are published in the README, on the landing page animation visible in frame 026, and in the Zenodo abstract.
- Verified: Soup is Apache-2.0 open source with no paid tier, the repository is public at MakazhanAlpamys/Soup, and the install is
pip install "soup-cli[train]"followed bysoup init --template chatandsoup train, matching the video's one-config-one-command claim at 24.36 s. - Clarification: The 119.6 and 113.00 figures were measured on v0.72.2, before a v0.73.0 correctness repair that the README says cost 4.8% at 32B, and the README states the pre- and post-repair rows are not directly comparable. Layer streaming is opt-in via
stream_layers: trueand still marked BETA. - Clarification: The video's "Soup" is fine-tuning, not the weight-averaging "model soups" of Wortsman et al. The names collide and the techniques do not overlap.
- Context: "Just made it possible" at 0.00 s covers a repository created 2026-02-20 and a self-submitted Show HN from 2026-08-04 that reached 139 points and 28 comments, eight months and two months respectively before this 2026-10-08 post.
- Unverified: "A laptop GPU that costs less than a PlayStation." The RTX 3050 Laptop GPU is soldered into machines and has no standalone retail price, so the comparison has no checkable figure on the GPU side.
- Context: Several of the video's illustrative frames are unrelated stock footage: an HTML tutorial page at frame 010, a video-editing timeline at frame 012, and a Claude chat window titled "Adobe retouch portraits" at frame 015. No frame I read shows Soup actually running in a terminal; frame 026 is the marketing animation from the project's landing page, not a live run.
Resources
- MakazhanAlpamys/Soup on GitHub establishes the repository creation date of 2026-02-20T11:05:01Z, the Apache-2.0 license, the 9,432 stars and 1,547 forks, the topic list naming qlora, sft, dpo and peft, and the
soup merge --adaptercommand I cite. - Soup README, main branch establishes the verbatim "119.6 tok/s at 952 MHz, 3.32 GB peak (pre-repair)" line, the @umran666 post-repair row at 208.6 tok/s in 2.40 GB, the v0.73.0 correctness repair and its 4.8% cost at 32B, the VRAM guide listing 8 GB for ~7B under QLoRA 4-bit, the install commands, the MePlay, Inc. payment note, and the "built and maintained in the open on a single 4 GB laptop" claim.
- About Soup and MePlay, Inc. establishes the two-co-founder team of Rafik Mamedov and Alpamys Makazhan, the Delaware incorporation on 1 October 2025, the registered Dover address, the layer-streaming mechanism description, and the August 2026 8x H100 validation window.
- Exact Layer Streaming: LoRA Fine-Tuning of an 8B Model on a 4 GB Laptop GPU, Zenodo, 13 August 2026 establishes the formal technique name, the author attribution to Alpamys Makazhan, the CC BY 4.0 license, the bit-exactness gating protocol, and the 119.6 tok/s at 3.32 GB and 143.1 tok/s at 2.15 GB figures.
- Show HN: Fine-tune an 8B model on a 4 GB laptop GPU, Hacker News, 4 August 2026 establishes the submission date, the author's own account as submitter, the 139 points and 28 comments, and his explanation that the frozen base "needs to arrive before the matmul that uses it."
- Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time, arXiv:2203.05482, 10 March 2022 establishes what the "model soup" technique actually is, which is the name collision I rule out.
- QLoRA: Efficient Finetuning of Quantized LLMs, arXiv:2305.14314, 23 May 2023 establishes the pre-Soup memory baseline, quoted as finetuning "a 65B parameter model on a single 48GB GPU while preserving full 16-bit finetuning task performance."
- New Price Changes for PS5, PS5 Pro, and PlayStation Portal remote player, PlayStation Blog, 27 March 2026 establishes the $649.99, $599.99 and $899.99 US prices effective 2 April 2026 that I use against the video's PlayStation comparison.
Published October 8, 2026. Writeup generated from a favorited TikTok.