HUOXIU

70億のパラメータを持つ大規模なモデルを簡単に管理できます。Walrusを使用してAWSにLlama2をデプロイします。

Llama 2は、Metaの次世代オープンソース大規模言語モデルです。70億から700億のパラメータを持つ、事前学習済みで微調整されたモデルファミリーです。Meta Llama 2は研究および商用利用に無料で利用可能で、さまざまなサイズと機能を備えた幅広いモデルを提供しているため、リリース以来大きな期待を集めています。以前の記事では、Llama 2の使用方法と利点、そしてFAQについて詳しく説明しました。この記事では、アプリケーション管理プラットフォームWalrusを使用してAWSにLlama 2をデプロイする方法について説明します。

Walrusは今週正式にオープンソース化されました。プロジェクトの詳細情報はこちらをご覧ください。この記事では、WalrusとCPUを使用してAWS上にLlama-2をデプロイし、ユーザーフレンドリーなWeb UIから操作する方法を段階的に説明します。

事前準備

展開を開始する前に、次のものを準備する必要があります。

  • EC2 インスタンスを作成するための十分な権限を持つ AWS アカウントと関連する認証情報。

  • Walrus をインストールします。

💡注: CPU を使用すると GPU よりも安価になりますが、対応する EC2 インスタンスのオーバーヘッドは依然として発生します。

Llama-2 サービス テンプレートを追加する

  • Walrus にログインし、左側のナビゲーションで运维中心をクリックして 模板Templates」タブの新建模板ボタンをクリックします

  • テンプレート名を入力します (例: llama-2

  • ソース フィールドにhttps://github.com/walrus-tutorials/llama2-on-awsと入力します

  • 保存をクリックします



環境とAWS認証情報を構成する

  • 左側のナビゲーションで、 应用管理をクリックします defaultプロジェクトビューで、 模连接器タブをクリックします。

  • 新建连接器ボタンをクリックし 云提供商種類を選択します。

  • AWSなどのコネクタ名を入力します

  • タイプオプションでAWSを選択します

  • 区域オプション东京(ap-northeast-1)を選択します

  • 保存をクリックします


環境とAWS認証情報を設定する際、特定のリージョンを使用することに注意してください。これは、後で使用するAMIが特定のリージョンで指定されているためです。別のリージョンを使用したい場合は、AMIをエクスポートして、そのリージョンにエクスポートしてください。


  • 环境タブをクリックし 新建环境ボタンをクリックします。

  • 環境名を入力します (例: dev

  • 添加连接器ボタンをクリックし、前の手順で作成した AWS コネクタを選択します。

  • 保存をクリックします

Llama-2 サービスを作成する

  • 环境タブdev環境の名前をクリックして、環境ビューに入ります。

  • 新建服务ボタンをクリックします

  • サービス名を入力します(例: my-llama-2

  • テンプレート オプションでllama-2を選択します

  • 保存をクリックします


Llama-2 サービスを作成する際、デフォルトのサービス設定では、AWS アカウントに対応するリージョンにデフォルト VPC があることを前提としていることにご注意ください。デフォルト VPC がない場合は、AWS VPC コンソールで新しい VPC を作成し、その VPC にサブネットとセキュリティグループを関連付けてください。セキュリティグループは、Llama-2 Web UI にアクセスするために TCP ポート 7860 を開いている必要があります。VPC 名とセキュリティグループ名は、サービス設定で設定できます。

Llama-2 Web UI にアクセスする

Llama-2 サービスのデプロイと実行状況は、詳細ページで確認できます。Llama-2 サービスのデプロイ後、Walrus UI のアクセスリンクをクリックして Web UI にアクセスできます。


Llama-2 イメージをゼロから構築するための重要な手順

このチュートリアルでは、事前にパッケージ化されたLlama-2イメージを使用するため、新しいLlama-2インスタンスを作成する際に、大規模な言語モデル(通常は非常にサイズが大きい)のダウンロードや推論サービスの構築に時間を費やす必要はありません。Llama-2の構築方法について詳しくは、以下のリンクをご覧ください。

完全なビルドプロセス: https://github.com/walrus-tutorials/llama2-on-aws/blob/build/main.tf

ここでは、ビルド プロセスの主要な手順を次のように示します。

 # text-generation-webuigit を取得します。 clone https://github.com/oobabooga/text-generation-webui && cd text-generation-webui# configure text-generation-webuiln -s docker/{Dockerfile,docker-compose.yml,.dockerignore} .cp docker/.env.example .envsed -i '/^CLI_ARGS=/s/.*/CLI_ARGS=--model llama-2-7b-chat.ggmlv3.q4_K_M.bin --wbits 4 --listen --auto-devices/' .envsed -i '/^\s*deploy:/,$d' docker/docker-compose.yml# 量子化された llama-2curl -L を取得します。 https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/resolve/main/llama-2-7b-chat.ggmlv3.q4_K_M.bin --output ./models/llama-2-7b-chat.ggmlv3.q4_K_M.bin# ビルドして、rundocker compose up --build を実行します。 


つまり、このプロセスは量子化された Llama-2-7b-chat モデルをダウンロードし、text-generation-webui を構築して使用し、Llama-2 サービスを開始します。

🌟 この時点で、CPU と Walrus を使用して AWS に Llama-2 を正常にデプロイできました。