【完全保存版】ゼロから学ぶ言語モデル(LLM)構築:CS336講義まとめ
CS336: Language Modeling from Scratch
CS336: Language Modeling from Scratch
スタンフォード大学の講義「CS336: Language Modeling from Scratch」では、大規模言語モデル(LLM)の設計、トレーニング、そして実運用に至るまでの技術スタックをゼロから体系的に学ぶことができます。モデルの基礎的なアーキテクチャから、学習の効率化、デプロイ後の最適化まで、AIエンジニアとして押さえておくべき核心的なノウハウが詰まった非常に価値の高いカリキュラムです。
richardsocherが教えていたcs224d [1] には良い思い出があるよ。Transformerが登場する前のものだから今となっては少し古いけど、当時はディープラーニングをNLPに応用するための最高にクールな入門コースだった。 [1] https://cs224d.stanford.edu
自習用のGPUコンピューティングについて
彼らが提案しているB200は1時間あたり4.99ドルからだぞ。
初心者が始めるのに本当にそんなの必要か?
自分もゼロからLLMをいじってみているけど、初期段階ならVast.aiで4090を借りる以上のものは必要ないよ。
オンラインで公開されているYouTube動画と教材を使って、このコースをこなすグループを立ち上げたよ。かなりやりがいはあるけど大変。週に1本の講義動画をこなすペースで進めたんだ。最初は30人以上いたけど、最後のセッションでは8人まで減っちゃったよ。
このコース興味あるな。でも、前提条件が気になるんだよね。
機械学習(例:CS221, CS229, CS230, CS124, CS224N)機械学習とディープラーニングの基礎を習得していること。
これらのトピックについて、実装重視の自習リソースを知ってる人はいる?もしくは、スタンフォードの講義録画を視聴した経験がある人っているかな?
1年かけて独学で最初の2つの課題に取り組んだよ。すごく勉強になった!みんなはこの後どんなコースを受けたのか気になるな :)
最近このコースの2025年版を完了したところ(ビデオとほとんどの課題、一番コストがかかる一部のタスクはスキップした)。これは本当にすごいよ。最初の2つの課題からして盛りだくさんで、かなりの思考とデバッグが必要だった。ディープラーニングの基礎知識はある程度あったけど、仕事終わりの時間と週末を使って終わらせるまでに数ヶ月かかったよ。(自分は決して模範的なパートタイム学生じゃないから、何日も手をつけられない時もあったけど、もっとひどい状況になる可能性もあった)。スタンフォードの学生がどうやって2週間ペースで課題を提出しているのか想像もつかない。
話は戻るけど、教授やTAを含めたコーススタッフには脱帽だよ。彼らがコース設計にどれだけ考えを巡らせ、最新情報が詰まったスライドを作り、素晴らしい課題を用意したかは明らかだ。実際にLLMを作成し、小さな構成要素からLLMパイプラインの他の重要な部分を探求して検証し、すべてがどう組み合わさるかを自分の目で確かめることができる。課題を完了した後の達成感は格別だ。
ただ、スタッフは誰でもアクセスできるように多大な努力をしてくれているけど、環境要件の明確化にはもう少し力を入れてほしかったな。彼らのハーネスはNVIDIA GPUを積んだLinux環境で最適に動作するんだけど、研究者ならともかく一般的なPC環境では珍しいからね。セットアップには特定のCUDAバージョンやアーキテクチャが求められるし。自宅で再現する場合、Windows + WSL2 + NVIDIA GPU、あるいは様々なプラットフォームでGPUを借りるのが次善の策になるけど、どれも決して手軽(あるいは安価)とは言えない。特に、互換性のあるGPUを持っていない人がコースを最大限に活用する方法について、スタッフがもう少しガイドを提供してくれたら嬉しい。(一つ学んだのは、Mac OSを使っていてメモリ解析に注意しないと、Pythonコードがフリーズして強制再起動が必要になるということだよ)。
最高だな、自分も先月からまさに同じようなことをしているよ。あえてPython標準ライブラリ以外は禁止という制限付きで(だからnumpyもなし)。
Word2Vecから始めて、RNNを構築し、それからLSTM、今はTransformerアーキテクチャの構築の半分くらいまで進んだところ。
誰か教えてくれないか。自宅でこのコースを進めるための最低限のGPUスペックは何?
自分は5080の16GBを持っているんだけど、これ以上の性能が本当に必要になるのかな?
すごくやりたいけど、まだ必要なスキルが足りてない気がする。でもいつか必ず!
2日前にClaudeを使ってgpt-1の改良版を実装してみたよ。自分は機械学習エンジニアでもなんでもなくて、ただの一般的なバックエンドエンジニアなんだけど。結局、gpt-1とmodded-nanogpt(KellerJordan作)のハイブリッドみたいなものを作ることになった。
ゲーミングPCで元のgpt-1論文の再現実験もできたんだ。VRAMだってそんなに積んでないし。NVIDIA GeForce RTX 2060 SUPERで、たった1時間の学習で結果のほとんどを再現できた。LLMの事前学習に興味があるなら、同じことをやってみるのを心からおすすめするよ。
コードはこちら: https://github.com/epoyraz/modded-gpt-1
まあ、Claude 4.8やCodex 5.5に聞いてもいいんだけどね。