この投稿では、パラメーター効率の良い微調整 (PEFT) メソッドを使用して Llama 2 モデルを微調整し、微調整されたモデルをデプロイする方法を紹介します。 AWS インフェレンシア 2。 私たちは AWS ニューロン ソフトウェア開発キット (SDK) を使用して AWS Inferentia2 デバイスにアクセスし、その高いパフォーマンスを活用します。 次に、次のような大規模なモデル推論コンテナを使用します。 ディープJavaライブラリ (DJLServing) をモデル サービング ソリューションとして使用します。
ソリューションの概要
QLoRa を使用した Llama2 の効率的な微調整
Llama 2 ファミリーの大規模言語モデル (LLM) は、7 億から 70 億のパラメーターの規模にわたる、事前トレーニングされ、微調整された生成テキスト モデルのコレクションです。 Llama 2 は、公的に入手可能なソースからの 2 兆トークンのデータで事前トレーニングされました。 AWS の顧客は、ダウンストリーム タスクのパフォーマンスを向上させるために、顧客自身のデータを使用して Llama 2 モデルを微調整することを選択することがあります。 ただし、Llama 2 モデルには多数のパラメーターがあるため、完全な微調整には法外な費用と時間がかかる可能性があります。 パラメーター効率の良い微調整 (PEFT) アプローチでは、事前トレーニングされたモデルのほとんどのパラメーターを凍結しながら、少数の追加モデル パラメーターのみを微調整するだけでこの問題に対処できます。 PEFT の詳細については、こちらをご覧ください。 役職。 この投稿では、 QLoRa Llama 2 7B モデルを微調整します。
Amazon SageMaker を使用して微調整されたモデルを Inf2 にデプロイする
AWS Inferentia2 は、推論ワークロード向けに設計された専用の機械学習 (ML) アクセラレーターであり、AWS 上の他の推論に最適化されたインスタンスと比較して、生成 AI および LLM ワークロードに対して最大 40% 低いコストで高性能を提供します。 この投稿では、Amazon Elastic Compute Cloud (Amazon EC2) Inf2 インスタンス。AWS Inferentia2、第 2 世代の InferentiaXNUMX アクセラレータを備え、それぞれに XNUMX つが含まれています。 ニューロンコア-v2。 各 NeuronCore-v2 は、Tensor、Vector、Scalar、GPSIMD エンジンという 2 つのメイン エンジンを備えた独立した異種コンピューティング ユニットです。 データの局所性を最大限に高めるためのオンチップのソフトウェア管理 SRAM メモリが含まれています。 InfXNUMX に関するブログがいくつか公開されているので、こちらを参照してください。 役職 と ドキュメント Inf2 の詳細については、
Inf2 にモデルをデプロイするには、Inf2 ハードウェア上で実行されるソフトウェア層として AWS Neuron SDK が必要です。 AWS Neuron は、AWS Inferentia でディープラーニング ワークロードを実行するために使用される SDK です。 AWS トレーニング ベースのインスタンス。 これにより、エンド ツー エンドの ML 開発ライフサイクルが可能になり、新しいモデルを構築し、これらのモデルをトレーニングおよび最適化し、本番環境にデプロイできます。 AWS Neuron には深層学習が含まれています コンパイラ, ランタイム, 豊富なツール群 TensorFlow や PyTorch などの一般的なフレームワークとネイティブに統合されています。 このブログで使用するのは、 transformers-neuronx
、これは、トランスフォーマー デコーダー推論ワークフロー用の AWS Neuron SDK の一部です。 それ サポート Llama 2 を含むさまざまな人気モデル。
モデルをデプロイするには アマゾンセージメーカー、通常は、Neuron SDK や transformers-neuronx
モデル提供コンポーネントも同様です。 Amazon SageMaker が保守する 深層学習コンテナ (DLC) には、大規模なモデルをホストするための一般的なオープン ソース ライブラリが含まれています。 この投稿では、 ニューロン用の大規模モデル推論コンテナ。 このコンテナには、Llama 2 モデルを Inf2 にデプロイするために必要なものがすべて含まれています。 Amazon SageMaker で LMI の使用を開始するためのリソースについては、既存の投稿の多くを参照してください (ブログ1, ブログ2, ブログ3) このトピックにおいて。 つまり、追加のコードを記述せずにコンテナーを実行できます。 使用できます デフォルトのハンドラー シームレスなユーザー エクスペリエンスを実現するために、サポートされているモデル名の 2 つと読み込み時間の構成可能なパラメーターを渡します。 これにより、LLM がコンパイルされ、InfXNUMX インスタンス上で提供されます。 たとえば、デプロイするには OpenAssistant/llama2-13b-orca-8k-3319
、次の構成を提供できます ( serving.properties
ファイル)。 で serving.properties
、モデルタイプを次のように指定します。 llama2-13b-orca-8k-3319
、バッチサイズを 4、テンソル並列次数を 2、それだけです。 設定可能なパラメータの完全なリストについては、を参照してください。 すべての DJL 構成オプション.
あるいは、次のように独自のモデル ハンドラー ファイルを作成することもできます。 例ただし、これには、DHLServing API 間のブリッジとして機能するモデルの読み込みと推論メソッドを実装する必要があります。
前提条件
次のリストは、このブログ投稿で説明されているモデルをデプロイするための前提条件の概要を示しています。 どちらからでも実装できます AWSマネジメントコンソール または最新バージョンの AWSコマンドラインインターフェイス (AWS CLI)。
チュートリアル
次のセクションでは、コードを XNUMX つの部分に分けて説明します。
- Llama2-7b モデルを微調整し、モデルのアーティファクトを指定された Amazon S3 バケットの場所にアップロードします。
- Amazon SageMaker でホストされている DJL サービングコンテナを使用して、モデルを Inferentia2 にデプロイします。
手順を含む完全なコードサンプルは、次の場所にあります。 GitHubの リポジトリ。
パート 1: PEFT を使用して Llama2-7b モデルを微調整する
この論文で最近紹介された方法を使用します QLoRA: 言語生成のための量子化対応の低ランクアダプターチューニング ティム・デットマーズ他著QLoRA は、パフォーマンスを犠牲にすることなく、微調整中に大規模な言語モデルのメモリ フットプリントを削減する新しい手法です。
注: 以下に示す llama2-7b モデルの微調整は Amazon でテストされました。 SageMaker スタジオ ノートブック Python 2.0 GPU 最適化カーネルを使用して ml.g5.2xラージ インスタンスタイプ。 ベスト プラクティスとして、 Amazon SageMakerスタジオ 独自に起動された統合開発環境 (IDE) アマゾン バーチャル プライベート クラウド (Amazon VPC)。 これにより、標準のAWSネットワークおよびセキュリティ機能を使用して、VPC内外のネットワークトラフィックを制御、監視、および検査できます。 詳細については、を参照してください。 プライベートVPCを使用したAmazonSageMakerStudio接続の保護.
ベースモデルを量子化する
まず、次を使用して 4 ビット量子化で量子化モデルをロードします。 ハグフェイストランスフォーマー 次のようなライブラリ:
トレーニング データセットをロードする
次に、次のように微調整ステップのためにモデルにフィードするデータセットをロードします。
アダプター層を接続する
ここでは、次のように構成された、小さなトレーニング可能なアダプター層をアタッチします。 LoraConfig ハグフェイスの定義 ペフト としょうかん。
モデルをトレーニングする
上記の LoRA 構成を使用して、ハイパーパラメーターとともに Llama2 モデルを微調整します。 モデルをトレーニングするためのコード スニペットを以下に示します。
モデルの重みを結合
上記で実行された微調整モデルにより、トレーニングされた LoRA アダプターの重みを含む新しいモデルが作成されました。 次のコード スニペットでは、微調整されたモデルを推論に使用できるように、アダプターを基本モデルとマージします。
モデルの重量を Amazon S3 にアップロードする
パート 1 の最後のステップでは、マージされたモデルの重みを指定された Amazon S3 の場所に保存します。 モデルの重みは、Inferentia2 インスタンスを使用してモデルをホストするために、Amazon SageMaker のモデル提供コンテナによって使用されます。
パート 2: SageMaker LMI Container を使用した AWS Inf2 での推論用の QLoRA モデルのホスト
このセクションでは、QLoRA 微調整モデルを Amazon SageMaker ホスティング環境にデプロイする手順を説明します。 を使用します DJLサービス SageMaker のコンテナ DLCと統合されます。 トランスフォーマー・ニューロンクス このモデルをホストするライブラリ。 このセットアップにより、AWS Inferentia2 アクセラレータへのモデルのロードが容易になり、複数の NeuronCore 間でモデルが並列化され、HTTP エンドポイントを介したサービスが可能になります。
モデルアーティファクトの準備
DJL は、以下を含む多くの深層学習最適化ライブラリをサポートしています。 ディープスピード, より高速なトランスフォーマー もっと。 モデル固有の構成については、 serving.properties
などの重要なパラメータを使用して、 tensor_parallel_degree
および model_id
モデル読み込みオプションを定義します。 の model_id
ハグフェイスのモデル ID、またはモデルの重みが保存されている Amazon S3 パスにすることができます。 この例では、微調整されたモデルの Amazon S3 の場所を提供します。 次のコード スニペットは、モデルの提供に使用されるプロパティを示しています。
こちらをご参照ください ドキュメント 利用可能な構成可能なオプションの詳細については、 serving.properties
。 ご了承ください。 option.n_position=512
AWS Neuron のコンパイルを高速化するために、このブログで説明します。 より大きな入力トークン長を試したい場合は、事前にモデルをプリコンパイルすることをお勧めします (「 EC2 上の AOT プリコンパイル モデル)。 そうしないと、コンパイル時間が長すぎる場合にタイムアウト エラーが発生する可能性があります。
後に serving.properties
ファイルが定義されている場合は、ファイルをパッケージ化します。 tar.gz
次のようにフォーマットします。
次に、tar.gz を Amazon S3 バケットの場所にアップロードします。
Amazon SageMaker モデルエンドポイントを作成する
Inf2 インスタンスを使用してサービスを提供するには、Amazon SageMaker LMI コンテナ DJLニューロンXサポート付き。 こちらを参照してください 役職 推論に DJL NeuronX コンテナを使用する方法の詳細については、 次のコードは、Amazon SageMaker Python SDK を使用してモデルをデプロイする方法を示しています。
テストモデルのエンドポイント
モデルが正常にデプロイされたら、サンプル リクエストをプレディクターに送信してエンドポイントを検証できます。
サンプル出力は次のようになります。
データ分析のコンテキストでは、機械学習 (ML) は、統計の範囲を反復的に絞り込むことで、複雑さと精度を高めながらデータセットから予測力を抽出できる統計手法を指します。
機械学習は新しい統計手法ではなく、既存の手法を組み合わせたものです。 さらに、特定のデータセットで使用したり、特定の結果を生成したりするように設計されていません。 むしろ、あらゆるデータセットに適応し、あらゆる結果について予測できるように十分な柔軟性を備えて設計されています。
クリーンアップ
SageMaker エンドポイントを実行し続けたくない場合は、次を使用して削除できます。 AWS SDK for Python (boto3)、AWS CLI、または Amazon SageMaker コンソール。 さらに、あなたはまたすることができます Amazon SageMaker Studio リソースをシャットダウンします。 それはもう必要ありません。
まとめ
この投稿では、単一の GPU インスタンスを使用し、2 ビット量子化を備えた LoRA アダプターを使用して Llama7-4b モデルを微調整する方法を説明しました。 次に、DJL サービングコンテナを使用して、Amazon SageMaker でホストされている Inf2 インスタンスにモデルをデプロイしました。 最後に、SageMaker Python SDK を使用したテキスト生成予測で Amazon SageMaker モデルのエンドポイントを検証しました。 ぜひお試しください。フィードバックをお待ちしております。 AWS Inferentia のさらなる機能と新しいイノベーションに関する最新情報をお待ちください。
AWS Neuron のその他の例については、を参照してください。 aws-ニューロン-サンプル.
著者について
ウェイ・テ AWS のシニア AI/ML スペシャリスト ソリューション アーキテクトです。 彼は、Amazon Machine Learning サービスと機械学習ベースのソリューションに重点を置き、お客様の AWS への移行を支援することに情熱を注いでいます。 仕事以外では、家族と一緒にキャンプ、釣り、ハイキングなどのアウトドア活動を楽しんでいます。
チンウェイ・リ アマゾンウェブサービスの機械学習スペシャリストです。 彼は博士号を取得しました。 アドバイザーの研究助成金口座を破り、約束したノーベル賞を授与できなかった後、オペレーションズリサーチで。 現在、彼は金融サービスおよび保険業界の顧客がAWSで機械学習ソリューションを構築するのを支援しています。 暇なときは、読書と教育が好きです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/fine-tune-llama-2-using-qlora-and-deploy-it-on-amazon-sagemaker-with-aws-inferentia2/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 11
- 視聴者の38%が
- 16
- 19
- 24
- 300
- 7
- 70
- 8
- a
- 私たちについて
- 上記の.
- 加速器
- 加速器
- アクセス
- 精度
- 達成する
- 越えて
- 活動
- 適応する
- NEW
- さらに
- 住所
- 進める
- 後
- 先んじて
- AI
- AI / ML
- AL
- ことができます
- 沿って
- アルファ
- また
- Amazon
- アマゾン機械学習
- アマゾンセージメーカー
- Amazon SageMakerスタジオ
- Amazon Webサービス
- an
- 分析
- および
- どれか
- API
- 申し込む
- アプローチ
- です
- AS
- At
- アタッチ
- オート
- 利用できます
- AWS
- AWSインフェレンティア
- 玉
- ベース
- ベース
- バッチング
- BE
- き
- 恩恵
- BEST
- より良いです
- の間に
- 10億
- ブログ
- ブログ
- BRIDGE
- 壊れた
- ビルド
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 缶
- 機能
- できる
- 選択する
- クラウド
- コード
- コレクション
- 組み合わせ
- コンプリート
- 複雑さ
- コンポーネント
- 計算
- 設定された
- 接続性
- 領事
- 消費する
- コンテナ
- 含まれています
- コンテキスト
- コントロール
- 費用
- 可能性
- 作成した
- 現在
- Customers
- データ
- データ分析
- 決めます
- 深いです
- 深い学習
- デフォルト
- 定義します
- 定義済みの
- 度
- 配信する
- 提供します
- 展開します
- 展開
- 展開する
- 記載された
- 設計
- 開発
- デバイス
- デッカー
- ダウン
- 原因
- 間に
- ダイナミック
- E&T
- 各
- どちら
- 可能
- 端から端まで
- エンドポイント
- エンジン
- エンジン
- 十分な
- 環境
- エラー
- 等
- すべてのもの
- 例
- 例
- 実行された
- 既存の
- 高価な
- 体験
- 余分な
- 顔
- 促進する
- Failed:
- false
- 家族
- 速いです
- 特色
- フィードバック
- File
- ファイナル
- 最後に
- ファイナンシャル
- 金融サービス
- 名
- 釣り
- フレキシブル
- 焦点
- 続いて
- フォロー中
- 次
- フットプリント
- 形式でアーカイブしたプロジェクトを保存します.
- 発見
- 4
- フレームワーク
- 氷結
- から
- フル
- さらに
- 世代
- 生々しい
- 生成AI
- 取得する
- 与える
- Go
- 行く
- GPU
- 助成金
- Hardware
- he
- 聞く
- 助け
- ことができます
- こちら
- ハイ
- ハイパフォーマンス
- 彼の
- host
- 主催
- ホスティング
- お家の掃除
- 認定条件
- How To
- しかしながら
- HTML
- HTTP
- HTTPS
- ID
- if
- 画像
- 実装する
- 実装
- in
- include
- 含ま
- 含めて
- の増加
- 独立しました
- 産業を変えます
- 情報
- イノベーション
- 入力
- 説明書
- 保険
- 統合された
- 統合する
- に
- 導入
- IT
- 繰り返し
- ITS
- Java
- 旅
- JPG
- JSON
- キープ
- キー
- キット(SDK)
- 言語
- 大
- より大きい
- 最新の
- 打ち上げ
- 層
- 層
- 学習
- 長さ
- レベル
- ライブラリ
- 図書館
- wifecycwe
- ような
- 好き
- LINE
- リスト
- ラマ
- LLM
- 負荷
- ローディング
- 場所
- より長いです
- 愛
- 下側
- 機械
- 機械学習
- メイン
- 維持
- make
- 管理
- 多くの
- 最大化
- メモリ
- マージ
- 方法
- メソッド
- かもしれない
- ML
- モデル
- モジュール
- モニター
- 他には?
- 最も
- ずっと
- の試合に
- 名
- 鼻
- 必要
- ネットワーク
- ネットワークトラフィック
- ネットワーキング
- 新作
- いいえ
- ノーベル賞
- なし
- 注意
- 数
- of
- on
- ONE
- の
- 〜に
- 開いた
- オープンソース
- 業務執行統括
- 最適化
- 最適化
- 最適化
- オプション
- オプション
- or
- その他
- さもないと
- 私たちの
- 結果
- 輪郭
- 出力
- 外側
- が
- 自分の
- パッケージ
- 紙素材
- 並列シミュレーションの設定
- パラメーター
- パラメータ
- 部
- 部品
- パス
- 情熱的な
- path
- パフォーマンス
- 実行
- 計画
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- お願いします
- 人気
- ポスト
- 投稿
- 電力
- パワード
- 練習
- 精度
- 予測
- 予測
- Predictor
- 前提条件
- プライベート
- 賞
- 問題
- プロセス
- 作り出す
- 生産
- 約束された
- プロパティ
- 提供します
- 公然と
- 公表
- Python
- パイトーチ
- 範囲
- 測距
- むしろ
- 読む
- リーダー
- リーディング
- 受け
- 最近
- 推奨する
- 減らします
- 参照する
- 指し
- 倉庫
- 要求
- リクエスト
- の提出が必要です
- 必要
- 研究
- リソース
- 応答
- 回答
- 右
- ラン
- ランニング
- 犠牲にする
- セージメーカー
- Save
- 規模
- スケーリング
- スコープ
- SDDK
- シームレス
- 二番
- 第2世代
- セクション
- セキュリティ
- 送信
- シニア
- シーケンス
- 役立つ
- サービス
- サービス
- サービング
- セッションに
- 設定
- いくつかの
- ショート
- ショーケース
- 示されました
- 示す
- 作品
- から
- サイズ
- 小さい
- スニペット
- So
- ソフトウェア
- ソフトウェア開発
- ソフトウェア開発キット
- 溶液
- ソリューション
- 時々
- ソース
- ソース
- 専門家
- 特定の
- 指定の
- 標準
- 開始
- 統計的
- 滞在
- 手順
- ステップ
- 保存され
- 研究
- 首尾よく
- そのような
- サポート
- サポート
- サポート
- タスク
- ティーチング
- 技術
- テクニック
- テンソルフロー
- テスト
- 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다.
- それ
- アプリ環境に合わせて
- それら
- その後
- ボーマン
- この
- 介して
- ティム
- 時間
- 〜へ
- トークン
- トークン
- あまりに
- top
- トピック
- トーチ
- トラフィック
- トレーニング
- 訓練された
- トレーニング
- トランス
- 1兆
- true
- 試します
- 調整された
- チューニング
- 2
- type
- 更新版
- アップロード
- URL
- つかいます
- 中古
- ユーザー
- 操作方法
- 通常
- 検証
- 検証済み
- バージョン
- 、
- バーチャル
- 歩く
- ウォークスルー
- 欲しいです
- ました
- we
- ウェブ
- Webサービス
- 重量
- WELL
- この試験は
- 何ですか
- which
- while
- 意志
- 以内
- 無し
- 仕事
- ワーカー
- ワークフロー
- 書きます
- 書き込み
- You
- あなたの
- ゼファーネット