「Llama-Recipes」リポジトリは、メタラマモデルの仲間です。このリポジトリでは、最新バージョンのLlama 3.2 VisionとLlama 3.2テキストをサポートしています。このリポジトリには、ドメイン適応のための微調整やLLMエコシステムの他のツールを備えたLLMベースのアプリケーションを構築するなど、さまざまなユースケースのモデルを開始するためのサンプルスクリプトとノートブックが含まれています。ここでの例では、クラウドでローカルにllamaを使用しています。
ヒント
これらの新しいレシピでラマ3.2を始めましょう:
注記
Llama 3.2は、Llama 3.1と同じプロンプトテンプレートに従い、マルチモーダルモデルの入力画像を表す新しい特別なトークン<|image|>を使用します。
画像の推論、ツールコール、コードインタープリターのプロンプトテンプレートの詳細については、ドキュメントWebサイトをご覧ください。
recipes/src/これらの指示により、プロジェクトのコピーを作成して、開発とテストの目的でローカルマシンで実行します。ライブシステムにプロジェクトを展開する方法に関するメモの展開を参照してください。
安定したリリースの代わりにPytorch Nightliesを使用する場合は、このガイドにアクセスして、プラットフォーム上のpip installコマンドの右--extra-index-url URLパラメーターを取得します。
Llama-Recipesは、他のプロジェクトで簡単にインストールして使用するためのPIP配布を提供します。または、ソースからインストールできます。
注記
Pytorchホイールをインストールするときは、正しいCUDAバージョン( nvidia-smiから)を使用してください。ここでは、11.8をcu118として使用しています。 H100 GPUは、CUDA> 12.0でよりよく機能します
pip install llama-recipes
Llama-Recipesは、オプションのパッケージをインストールしています。 3つのオプションの依存関係グループがあります。ユニットテストを実行するには、必要な依存関係をインストールできます。
pip install llama-recipes[tests]
VLLMの例には、以下でインストールできる追加要件が必要です。
pip install llama-recipes[vllm]
敏感なトピックセーフティチェッカーを使用するには:
pip install llama-recipes[auditnlg]
一部のレシピでは、ラングチェーンの存在が必要です。パッケージをインストールするには、レシピの説明をフォローするか、次のようにインストールします。
pip install llama-recipes[langchain]
オプションの依存関係は、[option1、option2]と組み合わせることもできます。
開発のためにソースからインストールするには、これらのコマンドを使用します。最新のPIPとSetUptoolsパッケージを必要とするビルドバックエンドとしてハッチングを使用しています。
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
Llama-Recipesの開発と貢献については、すべてのオプションの依存関係をインストールしてください。
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
ここでは、Face Hubを抱き締めるLlamaモデルを見つけることができます。名前のhfを持つモデルがすでに顔のチェックポイントを抱きしめているため、それ以上の変換は必要ありません。以下の変換ステップは、フェイスモデルのハブを抱きしめる上でホストされているメタからの元のモデルの重みのみです。
META Webサイトからモデルチェックポイントをダウンロードしている場合は、以下を抱えているフェイスフォーマットに変換できます。
# # Install Hugging Face Transformers from source
pip freeze | grep transformers # # verify it is version 4.45.0 or higher
git clone [email protected]:huggingface/transformers.git
cd transformers
pip install protobuf
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 3B --output_dir /output/pathLlamaの使用量を扱うコードのほとんどは、 recipes/とsrc/ 2つのメインフォルダーに編成されています。
recipes/トピックごとにフォルダーに整理された例が含まれています。
| サブフォルダー | 説明 |
|---|---|
| クイックスタート | Llamaを使用する「Hello World」は、Llamaを使用するのが初めての場合はここから始めてください。 |
| use_cases | メタラマ3の一般的なアプリケーションを示すスクリプト |
| 3p_integrations | Meta Llama3の一般的なアプリケーションを示すパートナー所有フォルダー |
| 責任者 | モデルの出力を保護するためにpurplellamaを使用するスクリプト |
| 実験的 | 実験LLM技術のメタラマ実装 |
src/レシピの例をサポートするモジュールが含まれています。
| サブフォルダー | 説明 |
|---|---|
| 構成 | PEFTメソッド、FSDP、データセット、重みとバイアスの実験追跡の構成ファイルが含まれています。 |
| データセット | 各データセットの個々のスクリプトをダウンロードして処理するための個々のスクリプトが含まれています。注記 |
| 推論 | 微調整されたモデルの推論のためのモジュールが含まれています。 |
| model_checkpointing | FSDPチェックポイントハンドラーが含まれています。 |
| ポリシー | FSDPスクリプトが含まれており、混合精度、変圧器ラッピングポリシー、アクティベーションチェックポイントなどのさまざまなポリシーと、精密なオプティマイザー(純粋なBF16モードでFSDPの実行に使用)などのさまざまなポリシーを提供します。 |
| utils | ユーティリティファイル:train_utils.py 、トレーニング/評価ループを提供し、より多くのトレイン活動を提供します。dataset_utils.py前処理されたデータセットを取得します。config_utils.py CLIから受信した構成をオーバーライドします。fsdp_utils.pyは、PEFTメソッドにFSDPラッピングポリシーを提供します。memory_utils.pyコンテキストマネージャートレインループのさまざまなメモリ統計を追跡します。 |
このリポジトリのレシピとモジュールは、次の機能をサポートしています。
| 特徴 | |
|---|---|
| 推論に対するHFサポート | ✅ |
| FinetuningのHFサポート | ✅ |
| peft | ✅ |
| 延期された初期化(メタinit) | ✅ |
| マルチGPUの低CPUモード | ✅ |
| 混合精度 | ✅ |
| 単一ノードの量子化 | ✅ |
| フラッシュな注意 | ✅ |
| アクティベーションチェックポイントFSDP | ✅ |
| ハイブリッドシェードデータパラレル(HSDP) | ✅ |
| データセットの梱包とパディング | ✅ |
| BF16オプティマイザー(純粋なBF16) | ✅ |
| プロファイリングとMFU追跡 | ✅ |
| 勾配蓄積 | ✅ |
| CPUオフロード | ✅ |
| 推論のためのHFへのFSDPチェックポイント変換 | ✅ |
| W&B実験トラッカー | ✅ |
私たちの行動規範の詳細と、私たちにプル要求を送信するプロセスについては、converting.mdをお読みください。
ここでメタラマ3.2のライセンスファイルを参照してください。ここで許容可能な使用ポリシー
Meta Llama 3.1のライセンスファイルはこちらで、ここで許容可能な使用ポリシーをご覧ください
ここでメタラマ3のライセンスファイルを参照してください。ここで許容可能な使用ポリシー
ここでメタラマ2のライセンスファイルを参照してください。ここで許容可能な使用ポリシー