前回の記事では、行列乗算の問題と、アテンションアルゴリズムがどのように行列乗算を用いて平均化処理を行うか、そしてRustとBlasを使って行列乗算機能をいかに効率的に実装するかについて紹介しました。
新しい記事では、Rustでllm.cを実装するための最初のステップ、すなわち、ゼロからRustを用いてGPTのようなモデルをトレーニングする方法を紹介します。これはRustエコシステムを学び、C言語との比較を理解するための私の方法です。特に、CPUだけでGPTの重みを使い、GPTモデルをトレーニングするコードを目指しています。これによって、シンプルなノートパソコンでどこまでモデルを押し進めることができるのか、Rustがどれほど使えるのかを理解するのが目的です。将来的には、特定の入力コーパスでGPTモデルのファインチューニングにも役立つかもしれません。
関連する全てのコードはこちらで見つけることができます。
出典 : Training LLM, from Scratch, in Rust https://towardsdatascience.com/training-llm-from-scratch-in-rust-03381bbd7204