nerdai/llms-from-scratch-rs

A comprehensive Rust translation of the code from Sebastian Raschka's Build an LLM from Scratch book.

解決する問題

Sebastian Raschkaの本『Build An LLM From Scratch』は、GPTスタイルの大規模言語モデルを段階的に構築する方法を教えていますが、すべてのコードはPyTorch(Python)で書かれています。このプロジェクトはRust開発者のための問題を解決します:本のコード全体をRustに翻訳し、Pythonを一切使わずに同じチュートリアルに従ってLLMの内部を学べるようにします。

仕組み

このプロジェクトは本の7つの章に対応し、テキストデータの処理、アテンションメカニズム、GPTモデルの実装、ラベルなしデータでの事前学習、分類のためのファインチューニング、指示に従うためのファインチューニングなどのトピックをカバーしています。Candleクレート(Hugging FaceのミニマリストMLフレームワーク)を使用して、同等のRustコードを書きます。リポジトリは各章に対応する実行可能な「例」と「演習」を提供します。リポジトリをクローンし、本で使用されている同じデータセット(the-verdict.txt)をダウンロードし、cargo run example 05.07やcargo run exercise 5.5などのcargoコマンドで特定の例や演習を実行します。cargo run list --examplesやcargo run list --exercisesで利用可能なすべての項目を一覧表示することもできます。コードは、各例/演習が必要なインポートを正確に示すように構成されており、学習に役立ちます。CUDA対応GPUがある場合は、cuda機能を有効にして計算を高速化できます。

対象読者

これは、実証済みのステップバイステップのチュートリアルに従って、GPTのようなLLMが内部でどのように機能するかを理解したいRust開発者向けです。また、Rust実装を見たい本の読者や、TransformerベースのLLMを構築するためのPython以外のアプローチに興味がある人にも役立ちます。

ハイライト

  • 本の章の完全なRust翻訳。すべてCandle MLフレームワークで構築されています。
  • 本に対応する実行可能な例と演習で、主要な概念を練習できます。
  • 本と同じデータセットを使用するため、そのまま使えるコンパニオンです。
  • CUDAをサポートし、互換性のあるGPUでの高速実行が可能です。
  • crates.ioに公開されているため、cargo installでインストールしてどこでも実行できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト