genai ko LLM
1.0.0
最近、Generative AIの脳として機能するさまざまなファンデーションモデルが公開され、多くの企業がファンデーションモデルを活用するアプリケーションを検討または開発しています。しかし、大規模モデルは単一のGPUで推論が容易ではなく、これを本番用にサービングしたりファインチューニングすることは容易ではありません。
このハンズオンは、Generative AI をすばやく検討し、本番環境に適用したい人のために作成され、韓国語の大規模モデルを AWS インフラストラクチャで効率的にサービングしてファインチューニングする方法をステップバイステップで案内します。
1_prepare-dataset-alpaca-method.ipynb
: instruction データセットからトレーニングデータセットを準備します。各サンプルをトルクナイズする方式です。1_prepare-dataset-chunk-method.ipynb
: instruction データセットからトレーニングデータセットを準備します。すべてのサンプルを集めて、チャンクサイズに分割する方法です。2_local-train-debug-lora.ipynb
:本格的にトレーニングインスタンスで実行する前に、開発環境でいくつかのサンプルデータでデバッグを実行します。すでにファインチューニングに慣れている方は、このハンズオンをスキップして3_sm-train-lora.ipynbを進めてください。3_sm-train-lora.ipynb
:SageMakerトレーニングインスタンスでファインチューニングを実行します。 1_local-inference.ipynb
:モデルをハギングフェイスハブからロードして簡単な推論を実行します。必須ではありませんが、モデルを体験したい場合は、このプロセスから始めることをお勧めします。2_local-inference-deepspeed.py
& 2_run.sh
: DeepSpeed 分散推論を実験します。複数のGPUを搭載したインスタンスまたはサーバーをお勧めします。 (例: ml.g5.12xlarge
)3_sm-serving-djl-deepspeed-from-hub.ipynb
: SageMaker DJL (Deep Java Library) サービングコンテナ (DeepSpeed 分散推論) を使用して SageMaker モデルサービングを実行します。ホスティングサーバーは、ハギングフェイスハブからモデルを直接ダウンロードします。3_sm-serving-djl-deepspeed-from-hub.ipynb
: SageMaker DJL (Deep Java Library) サービングコンテナ (DeepSpeed 分散推論) を使用して SageMaker モデルサービングを実行します。ホスティングサーバーはS3からモデルをダウンロードします。内部的にはs5cmdで並列にファイルをダウンロードするので、ダウンロード速度は非常に高速です。3_sm-serving-tgi-from-hub.ipynb
: SageMaker Text Generation Inferface (TGI) サービングコンテナを使用して SageMaker モデルサービングを実行します。 TGIは、ハギングフェースによって開発された分散推論サーバーで、非常に高速な推論速度を示しています。3_sm-serving-djl-fastertransformer-nocode.ipynb
: SageMaker DJL (Deep Java Library) サービングコンテナ (NVIDIA FasterTransformer 分散推論) を使用して SageMaker モデルサービングを実行します。サポートされているモデルに限り、DeepSpeedよりも高速です。 このハンズオンを行うために、以下の仕様のインスタンスを準備することをお勧めします。
代わりに、SageMaker Studio LabまたはSageMaker Studioを使用できます。
ml.t3.medium
(最小仕様)ml.m5.xlarge
(推奨仕様)ml.g5.2xlarge
(最小仕様)ml.g5.12xlarge
(推奨仕様)ml.g5.2xlarge
:7Bパラメータ以下モデルml.g5.12xlarge
(推奨仕様) このサンプルコードは、MIT-0ライセンスに従って提供されます。ライセンスファイルをご覧ください。