TIIのFalcon 180B基本モデルは、Amazon SageMaker JumpStartを通じて利用可能です

TIIのFalcon 180B基本モデルは、Amazon SageMaker JumpStartで利用可能です

本日、テクノロジーイノベーション研究所(TII)によって開発されたFalcon 180Bの基礎モデルが、Amazon SageMaker JumpStartを通じて顧客に提供され、ワンクリックで推論を実行するために展開できることをお知らせいたします。1800億パラメータのサイズであり、3.5兆トークンの大規模なデータセットでトレーニングされたFalcon 180Bは、オープンにアクセス可能なウェイトを持つ最大かつ最もパフォーマンスの高いモデルの一つです。SageMaker JumpStartを使用してこのモデルを試すことができます。SageMaker JumpStartは、アルゴリズム、モデル、およびMLソリューションにアクセスできる機械学習(ML)ハブであり、素早くMLを始めることができます。この記事では、SageMaker JumpStartを介してFalcon 180Bモデルを発見および展開する方法について説明します。

Falcon 180Bとは

Falcon 180Bは、Falconファミリーの以前のリリースに続くTIIによってリリースされたモデルです。Falcon 40Bのスケーリングアップバージョンであり、よりスケーラビリティの高いマルチクエリアテンションを使用しています。最適化されたトランスフォーマーアーキテクチャを使用した自己回帰言語モデルです。主にRefinedWebからのウェブデータ(約85%)で構成される、3.5兆トークンのデータでトレーニングされました。このモデルには、180Bと180B-Chatの2つのバージョンがあります。180Bは、ほとんどのユースケースにおいてさらに微調整が必要な事前トレーニング済みのモデルです。180B-Chatは、一般的な指示を受けるのに適しています。Chatモデルは、チャットと指示のデータセットといくつかの大規模な会話データセットと共に微調整されています。

このモデルは、Falcon-180B TIIライセンスおよび利用規約の下で提供されています。

Falcon 180Bは、TIIによってAmazon SageMakerでトレーニングされました。約4KのA100 GPUクラスターでカスタム分散トレーニングコードベースであるGigatronを使用し、ZeROとカスタムの高パフォーマンスTritonカーネルを使用しました。分散トレーニングアーキテクチャは、データのロードとチェックポイントの書き込みと読み取りにAmazon Simple Storage Service(Amazon S3)を唯一の統合サービスとして使用し、ワークロードの信頼性と操作の簡素化に特に貢献しました。

SageMaker JumpStartとは

SageMaker JumpStartでは、MLプラクティショナーは、最適なパフォーマンスを発揮する基礎モデルを選択できます。MLプラクティショナーは、ネットワーク分離された環境内の専用SageMakerインスタンスに基礎モデルを展開し、Amazon SageMakerを使用してモデルのトレーニングと展開をカスタマイズできます。

Amazon SageMaker StudioまたはSageMaker Python SDKを使用して、数回のクリックでFalcon 180Bを発見および展開できるようになりました。これにより、Amazon SageMakerパイプライン、Amazon SageMakerデバッガー、またはコンテナログなどのSageMakerの機能を使用して、モデルのパフォーマンスとMLOpsコントロールを引き出すことができます。このモデルは、AWSのセキュアな環境で展開され、VPCの制御下で行われるため、データのセキュリティが確保されます。Falcon 180Bは発見可能であり、必要なインスタンスが利用可能なリージョンで展開することができます。現在、ml.p4deインスタンスは米国東部(バージニア北部)と米国西部(オレゴン)で利用可能です。

モデルの発見

SageMaker StudioのUIおよびSageMaker Python SDKを介して、SageMaker JumpStartを介して基礎モデルにアクセスできます。このセクションでは、SageMaker Studioでモデルを発見する方法について説明します。

SageMaker Studioは、すべてのML開発ステップを実行するための専用ツールにアクセスできる単一のWebベースのビジュアルインターフェースを提供する統合開発環境(IDE)です。データの準備からMLモデルの構築、トレーニング、展開までのすべてのステップを実行できます。SageMaker Studioの始め方とセットアップの詳細については、Amazon SageMaker Studioを参照してください。

SageMaker Studioでは、Prebuilt and automated solutionsの下に、事前トレーニングされたモデル、ノートブック、および事前構築されたソリューションを含むSageMaker JumpStartにアクセスできます。

SageMaker JumpStartのランディングページから、ソリューション、モデル、ノートブック、およびその他のリソースを閲覧できます。Falcon 180BはFoundation Models: Text Generationのカルーセル内にあります。

他のモデルバリエーションも見つけることができます。 すべてのテキスト生成モデルを探索 を選択するか、 Falcon を検索してください。

モデルカードを選択して、ライセンス、トレーニングに使用されるデータ、使用方法などのモデルの詳細を表示できます。 DeployOpen Notebook の2つのボタンも見つけることができます。これらのボタンは、モデルの使用をサポートします(下のスクリーンショットは Deploy オプションを示しています)。

モデルのデプロイ

Deploy を選択すると、モデルのデプロイが開始されます。または、 Open Notebook を選択して表示される例のノートブックを介してデプロイすることもできます。例のノートブックは、モデルの推論とリソースのクリーンアップ方法についてのエンドツーエンドのガイダンスを提供します。

ノートブックを使用してデプロイする場合、model_id で指定された適切なモデルを選択することから始めます。次のコードを使用して、SageMaker 上の選択したモデルをデプロイできます:

from sagemaker.jumpstart.model import JumpStartModel

my_model = JumpStartModel(model_id="huggingface-llm-falcon-180b-chat-bf16")
predictor = my_model.deploy()

これにより、デフォルトの設定でモデルが SageMaker 上にデプロイされます。デフォルトのインスタンスタイプとデフォルトの VPC 設定が含まれます。 JumpStartModel 内で非デフォルトの値を指定することで、これらの設定を変更できます。詳細については、API ドキュメントを参照してください。デプロイされた後、SageMaker の予測子を介してデプロイされたエンドポイントに対して推論を実行できます。次のコードを参照してください:

payload = {
    "inputs": "User: Hello!\nFalcon: ",
    "parameters": {"max_new_tokens": 256, "top_p": 0.9, "temperature": 0.6}
}
response = predictor.predict(payload)

推論パラメータは、エンドポイントのテキスト生成プロセスを制御します。 max new tokens コントロールは、モデルによって生成される出力のサイズを指します。ただし、これは単語の数ではなく、モデルの語彙が英語の語彙と同じではないため、各トークンが英語の単語であるとは限りません。 Temperature は、出力のランダム性を制御します。温度が高いほど、より創造的で幻覚的な出力が生成されます。すべての推論パラメータはオプションです。

この 180B パラメータモデルは 335GB であり、16ビット精度で十分な推論を行うにはさらに多くの GPU メモリが必要です。現在、JumpStart ではこのモデルは ml.p4de.24xlarge インスタンスでのみサポートされています。 JumpStartModel コンストラクタに env={"HF_MODEL_QUANTIZE": "bitsandbytes"} キーワード引数を指定し、デプロイメソッドに instance_type="ml.p4d.24xlarge" を指定することにより、8ビット量子化モデルを ml.p4d.24xlarge インスタンスにデプロイすることができます。ただし、この量子化構成では、パータンごとのレイテンシは約5倍遅くなることに注意してください。

次の表は、SageMaker JumpStart で利用可能なすべての Falcon モデルと、モデル ID、デフォルトのインスタンスタイプ、サポートされる最大トータルトークン数(入力トークン数と生成トークン数の合計)、および各モデルの典型的な応答レイテンシ(トークンごと)を示しています。

モデル名 モデル ID デフォルトのインスタンスタイプ 最大トータルトークン数 トークンごとのレイテンシ*
Falcon 7B huggingface-llm-``falcon-7b-bf16 ml.g5.2xlarge 2048 34 ms
Falcon 7B Instruct huggingface-llm-``falcon-7b-instruct-bf16 ml.g5.2xlarge 2048 34 ms
Falcon 40B huggingface-llm-``falcon-40b-bf16 ml.g5.12xlarge 2048 57 ms
Falcon 40B Instruct huggingface-llm-``falcon-40b-instruct-bf16 ml.g5.12xlarge 2048 57 ms
Falcon 180B huggingface-llm-``falcon-180b-bf16 ml.p4de.24xlarge 2048 45 ms
Falcon 180B Chat huggingface-llm-``falcon-180b-chat-bf16 ml.p4de.24xlarge 2048 45 ms

このブログでは、提供されている例のプロンプトの中央応答時間のためのパータイムレイテンシが提供されます。この値は、入力と出力のシーケンスの長さに基づいて変動します。

Falcon 180Bの推論と例のプロンプト

Falconモデルは、テキストの完全なテキスト補完に使用できます。テキスト生成により、質問応答、言語翻訳、感情分析など、さまざまなタスクを実行できます。エンドポイントは、次の入力ペイロードスキーマを受け入れます:

payload = {
    "inputs": str,
    (optional)"parameters": {
        "do_sample": bool,
        "max_new_tokens": int,
        "repetition_penalty": float,
        "return_full_text": bool,
        "stop": List[str],
        "seed": int,
        "temperature": float,
        "top_k": int,
        "top_p": float,
        "truncate": int,
        "typical_p": float,
        "best_of": int,
        "watermark": bool,
        "details": bool,
        "decoder_input_details": bool,
    }
}

これらのクライアントパラメータの定義とデフォルト値については、text-generation-inferenceリポジトリを参照できます。

以下は、いくつかのサンプルの例プロンプトとモデルによって生成されたテキストです。ここでのすべての出力は、推論パラメータ{"max_new_tokens": 768, "stop": ["<|endoftext|>", "###"]}を使用して生成されます。

ウェブサイトの作成は10の簡単なステップで行うことができます:

入力 ウェブサイトの作成は10の簡単なステップで行うことができます:

出力
- ドメイン名を選択する
- ドメイン名を登録する
- ウェブホストを選択する
- ウェブサイトビルダーを選択する
- ウェブサイトを作成する
- ウェブサイトにコンテンツを追加する
- ウェブサイトにページを追加する
- ウェブサイトに画像を追加する
- ウェブサイトに動画を追加する
- ウェブサイトにソーシャルメディアを追加する
1. ドメイン名を選択する
ドメイン名は、ウェブサイトのアドレスです。人々がウェブサイトを見つけるためにブラウザに入力するものです。たとえば、このウェブサイトのドメイン名はです。
ドメイン名を選ぶ際には、覚えやすいものを選び、ビジネスやウェブサイトを代表するものにする必要があります。また、ドメイン名が利用可能かどうかも確認する必要があります。ドメイン名の利用可能性は、ドメイン名検索ツールを使用して確認できます。
2. ドメイン名を登録する
ドメイン名を選んだら、登録する必要があります。これはドメイン名登録業者を通じて行うことができます。ドメイン名登録業者は、ドメイン名の登録を管理する会社です。
ドメイン名を登録する際には、連絡先情報を提供し、支払い方法を選択する必要があります。また、ドメイン名の拡張子も選択する必要があります。最も一般的なドメイン名の拡張子は.com、.net、.orgです。
3. ウェブホストを選択する
ウェブホストは、ウェブサイトのためのサーバー上のスペースを提供する会社です。ウェブホストを選ぶ際には、信頼性があり、良好なカスタマーサポートを提供する会社を選ぶべきです。また、ウェブホストがウェブサイトに必要な機能を提供していることも確認する必要があります。
4. ウェブサイトビルダーを選択する
ウェブサイトビルダーは、コーディングの知識がなくてもウェブサイトを作成できるツールです。さまざまなウェブサイトビルダーが利用可能なので、使いやすいもので、必要な機能を提供しているものを選ぶべきです。
5. ウェブサイトを作成する
ウェブサイトビルダーを選んだら、ウェブサイトを作成することができます。ウェブサイトのテンプレートを選び、その後、ウェブサイトにコンテンツを追加する必要があります。
6. ウェブサイトにコンテンツを追加する
ウェブサイトのコンテンツは、ウェブサイトをユニークにする要素です。ビジネスやウェブサイトに関連するコンテンツを追加するべきです。テキスト、画像、動画など、さまざまなタイプのコンテンツをウェブサイトに追加できます。
7. ウェブサイトにページを追加する
ウェブサイトはページで構成されています。ウェブサイトには任意の数のページを追加できます。各ページには異なる目的があるべきです。たとえば、ホームページ、紹介ページ、お問い合わせページなどがあります。
8. ウェブサイトに画像を追加する
画像はウェブサイトを視覚的に魅力的にすることができます。ウェブサイトに画像を追加するには、ウェブサイトにアップロードするか、画像ホスティングサービスを使用することができます。
9. ウェブサイトに動画を追加する
動画もウェブサイトを視覚的に魅力的にすることができます。ウェブサイトに動画を追加するには、ウェブサイトにアップロードするか、動画ホスティングサービスを使用することができます。
10. ウェブサイトにソーシャルメディアを追加する
ソーシャルメディアはウェブサイトのプロモーションに役立ちます。ウェブサイトにソーシャルメディアのボタンを追加して、人々がソーシャルメディアでウェブサイトを共有できるようにすることができます。また、ウェブサイトにソーシャルメディアのフィードを追加して、最新のソーシャルメディアの投稿を表示することもできます。

事前学習済みモデルは、対話ユースケースに最適ではない長いテキストシーケンスを生成することがあることに気付くかもしれません。ファルコンモデルをfew-shot in-context learningと一緒に使用する方法を示す前に、次の2つの例は、モデルに利用可能なトレーニングサンプルを提供するfew-shot学習の使用方法を示しています。なお、「few-shot学習」とはモデルの重みを調整するものではなく、このプロセスではデプロイされたモデル上で推論を実行し、入力コンテキスト内のいくつかの例を提供してモデルの出力を支援するものです。

入力
ツイート: "私の携帯電話のバッテリーが切れると嫌です。"
感情: ネガティブ
###
ツイート: "今日は最高でした:+1:"
感情: ポジティブ
###
ツイート: "これは記事へのリンクです。"
感情: ニュートラル
###
ツイート: "この新しいミュージックビデオは素晴らしかった"
感情:

出力
ポジティブ
###

入力
英語からフランス語への翻訳:
sea otter => loutre de mer
###
peppermint => menthe poivrée
###
plush girafe => girafe peluche
###
cheese =>

出力
fromage
###

Falcon 180B-Chatの推論と例示プロンプト

Falcon 180B-Chatモデルでは、対話ユースケースに最適化されており、チャットモデルのエンドポイントへの入力には、チャットアシスタントとユーザー間の以前の履歴が含まれる場合があります。これまでに行われた会話に関連する質問をすることができます。また、チャットアシスタントの振る舞いを定義するパーソナなどのシステム設定を提供することもできます。エンドポイントへの入力ペイロードは、Falcon 180Bモデルと同じですが、inputsの文字列値は以下の形式を使用する必要があります:

System: <オプションのシステムプロンプト>
User: <オプションのユーザーメッセージ履歴>
Falcon: <オプションのチャット履歴のFalconの応答>
User: <現在のユーザーメッセージ>
Falcon:

以下は、いくつかのサンプルの例示プロンプトとモデルによって生成されたテキストです。すべての出力は、推論パラメータ{"max_new_tokens":256, "stop": ["\nUser:", "<|endoftext|>", " User:", "###"]}を使用して生成されています。

入力
System: あなたは助けになるアシスタントです
User: Amazon SageMaker JumpStartとは何ですか?
Falcon: 

出力
Amazon SageMaker JumpStartは、一般的な機械学習の問題に対する一連のソリューションを提供するAmazon SageMakerの機能です。これらのソリューションには、事前に構築された機械学習モデル、アルゴリズム、および事前に設定されたモデルトレーニングおよび展開設定が含まれます。JumpStartには、さまざまなユースケースでこれらのソリューションを使用する方法を示すサンプルノートブックも用意されています。JumpStartの目標は、機械学習の専門知識を必要とせずに、ユーザーが迅速かつ簡単に機械学習を始めることを支援することです。
User:

入力
User: 簡単に言えば、相対性理論とは
Falcon: 

出力
1. 物理法則は、互いに一定の速度で一様な運動をするすべての観測者に対して同じです。
2. 真空中での光の速度は、観測者の運動や光源の運動に関係なく、すべての観測者に対して同じです。
3. 時間と空間は相対的であり、観測者の参照フレームに応じて変化する可能性があります。
4. 質量とエネルギーは相互変換可能であり、有名な式E=mc²で表されます。
User:

入力
User: ウェブサイトの作成は10の簡単なステップで行うことができます:
Falcon: 

出力
1. ウェブサイトの目的と目標を決定します。
2. ドメイン名を選び、登録します。
3. ウェブホスティングプロバイダーを選び、プランに登録します。
4. ウェブサイトビルダーまたはコンテンツ管理システム(CMS)を選択します。
5. ウェブサイト用のテーマやテンプレートを選択します。
6. ウェブサイトのデザインとレイアウトをカスタマイズします。
7. テキスト、画像、ビデオなどのコンテンツをウェブサイトに追加します。
8. ナビゲーションメニューやリンクを設定して、ウェブサイトのナビゲーションを容易にします。
9. ウェブサイトが正常に動作し、モバイルフレンドリーであることをテストします。
10. ウェブサイトを公開し、訪問者を集めるために宣伝します。
User:

入力
System: 常に俳句で答えてください。
User: 私はAmazon SageMaker JumpStartで大規模な言語モデルを展開しています。何をすべきですか?
Falcon: 

出力
「夢を飛躍させよう」
容易に展開し、歓喜でスケール
SageMaker 待つ

入力
System: このメールの概要を表にまとめてください。
User: チーム、Goocrux v2の製品計画についての決定をしなければなりません。最初のオプションは3週間の開発時間がかかり、80msのパフォーマンスを達成しますが、UIを変更する必要があります。2番目のオプションは4週間の開発時間がかかり、60msのパフォーマンスを達成しますが、UIの変更はありません。3番目のオプションは最も時間がかかります - 6週間の開発時間がかかり、30msのパフォーマンスを達成しますが、UIの変更はありません。四つの列を持つマークダウン形式の表:(1) オプションID、(2) 開発時間、(3) パフォーマンス、(4) UIの変更。
Falcon: 

出力
| オプションID | 開発時間 | パフォーマンス | UIの変更 |
| --- | --- | --- | --- |
| 1 | 3週間 | 80ms | あり |
| 2 | 4週間 | 60ms | なし |
| 3 | 6週間 | 30ms | なし |

入力
System: 常に英語からフランス語に翻訳してください。
User: sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
Falcon: 

出力
=> fromage

入力
System: ユーザープロンプトをネガティブ、ポジティブ、またはニュートラルの感情として分類してください。短い応答を使用してください。
User: ツイート: "この新しいミュージックビデオは素晴らしかった"
Falcon: 

出力
"ポジティブ"

入力
User: マヨネーズのレシピは何ですか?
Falcon: 

出力
1. ボウルに卵黄1個、ディジョンマスタード大さじ1杯、レモンジュース大さじ1杯をよく混ぜ合わせます。
2. 泡立てながら、ゆっくりと野菜油1カップを加え、混合物を厚くなり、乳

以下の例では、ユーザーはパリの観光地についてアシスタントとの会話をしています。次に、ユーザーはチャットアシスタントがおすすめした最初のオプションについて問い合わせています。

Input
System: あなたは役に立つ旅行プランナーです。
ユーザー: パリに行く予定です。何を見るべきですか?
Falcon: 1. エッフェル塔:パリへの旅行は、象徴的なエッフェル塔の訪問なしでは完全ではありません。
2. ルーヴル美術館:モナリザを含む世界中で有名な芸術作品が展示されています。
3. ノートルダム大聖堂:ゴシック建築の見事な例であり、歴史愛好家にとっては必見です。
4. シャンゼリゼ通り:世界で最も有名な通りの1つで、ショップ、カフェ、劇場が軒を連ねています。
5. モンマルトル:ボヘミアンの雰囲気、ストリートアート、市内の素晴らしい景色で知られる魅力的な地区です。
6. ヴェルサイユ宮殿:パリから電車で短時間の移動で行けるこの豪華な宮殿はかつてフランスの王座でした。
7. オルセー美術館:かつての駅舎に入居しており、印象派やポスト印象派の美術品の素晴らしいコレクションを誇っています。
8. サントシャペル:パリの中心にある隠れた宝石で、美しいステンドグラスの窓で有名です。
9. ルクセンブルク庭園:市内中心部にある美しい公園で、ピクニックやゆったりした散歩に最適です。
ユーザー: #1の魅力は何ですか?
Falcon: 

Output
#1はエッフェル塔で、世界で最も有名なランドマークの一つです。パリの象徴であり、多くの訪問者にとって必見の観光スポットです。展望デッキからは市内の壮大な景色を楽しむことができ、特に夜にライトアップされた姿は美しいです。さらに、エッフェル塔は豊かな歴史を持ち、建築の驚異でもあるため、建築や歴史に興味のある人にとっては魅力的な目的地です。
ユーザー:

クリーンアップ

ノートブックの実行が完了したら、プロセスで作成したすべてのリソースを削除して請求が停止されるようにしてください。以下のコードを使用します。

predictor.delete_model()
predictor.delete_endpoint()

結論

この投稿では、SageMaker StudioでFalcon 180Bを使用してモデルを展開し、推論のために開始する方法を紹介しました。ファウンデーションモデルは事前にトレーニングされているため、トレーニングとインフラストラクチャのコストを下げ、ユースケースにカスタマイズすることができます。SageMaker StudioのSageMaker JumpStartを今すぐ使って始めましょう。

リソース

  • SageMaker JumpStartドキュメント
  • SageMaker JumpStart Foundation Modelsドキュメント
  • SageMaker JumpStart製品詳細ページ
  • SageMaker JumpStartモデルカタログ

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「2023年に試してみる必要のある素晴らしい無料LLMプレイグラウンド5選」

「最新のAIモデルを直接体験することができる、ユーザーフレンドリーなトップ5プラットフォームを探索しましょうこれらのプラ...

AI研究

マイクロソフトの研究者たちは、FP8混合精度トレーニングフレームワークを公開しました:大規模な言語モデルのトレーニング効率を超高速化します

大型言語モデルは、言語生成と理解の能力において以前に類を見ない優れた能力を示しており、論理学、数学、物理学、他の領域...

AIニュース

「開発者向けの15以上のAIツール(2023年9月)」

GitHub Copilot GitHub Copilotは、市場をリードするAIパワードのコーディングアシスタントです。開発者がより効率的に優れた...

AIテクノロジー

プロンプトエンジニアリングにおける並列処理:思考の骨格技術

「スケルトン・オブ・ソウトと呼ばれるプロンプトエンジニアリング技術が、レイテンシを削減し、構造化された出力を提供し、...

人工知能

「ChatGPT Canvaプラグインでグラフィックデザイン活動を自動化する」

必要なデザインを開発するための時間を最小限に抑えてください

機械学習

Microsoft BingはNVIDIA Tritonを使用して広告配信を高速化

Jiusheng Chen氏のチームは加速しました。 彼らは、NVIDIA Triton Inference ServerをNVIDIA A100 Tensor Core GPUで実行する...