自然言語処理 (NLP) は、人間と同じ方法でテキストや話し言葉を理解できる能力をコンピューターに与えることに関係する機械学習 (ML) の分野です。 最近では、次のような最先端のアーキテクチャが登場しています。 トランスアーキテクチャ テキストの要約、テキストの分類、エンティティ認識などの NLP の下流タスクで人間に近いパフォーマンスを達成するために使用されます。
大規模言語モデル (LLM) は、数億もの大量のラベルなしテキストでトレーニングされたトランスフォーマー ベースのモデルです (ベルト) 兆を超えるパラメータ (MiCS)、そのサイズにより単一 GPU トレーニングは非現実的になります。 LLM は本質的に複雑であるため、LLM をゼロからトレーニングすることは非常に困難な作業であり、その余裕のある組織はほとんどありません。 NLP ダウンストリーム タスクの一般的な方法は、事前トレーニングされた LLM を取得して微調整することです。 微調整の詳細については、を参照してください。 ドメイン適応 財務データの Amazon SageMaker JumpStart での基盤モデルの微調整 および AmazonSageMakerのHuggingFaceを使用して、言語の多様性のためにトランスフォーマー言語モデルを微調整します.
NLP のゼロショット学習により、 事前トレーニングされたLLM 明示的にトレーニングされていないタスクに対する応答を生成します (微調整なしでも)。 テキスト分類について具体的に言えば、 ゼロショットテキスト分類 は、自然言語処理のタスクであり、NLP モデルを使用して、目に見えないクラスからテキストを分類します。 教師付き分類ここで、NLP モデルは、トレーニング データ内のクラスに属するテキストのみを分類できます。
最近、ゼロショット分類モデルのサポートを開始しました。 Amazon SageMaker ジャンプスタート。 SageMaker JumpStart は、 アマゾンセージメーカー これにより、事前トレーニングされた基盤モデル (FM)、LLM、組み込みアルゴリズム、およびソリューション テンプレートへのアクセスが提供され、ML をすぐに開始できるようになります。 この投稿では、SageMaker Jumpstart で事前トレーニングされたモデルを使用してゼロショット分類を実行する方法を示します。 SageMaker Jumpstart UI と SageMaker Python SDK を使用してソリューションをデプロイし、利用可能なモデルを使用して推論を実行する方法を学習します。
ゼロショット学習
ゼロショット分類は、トレーニング データには存在しなかったクラスに属する新しい未確認のサンプルをモデルが分類できるパラダイムです。 たとえば、人間の言語を理解するようにトレーニングされた言語モデルを使用して、新年の抱負のツイートを次のような複数のクラスに分類できます。 career
, health
, finance
言語モデルはテキスト分類タスクで明示的にトレーニングされません。 これはモデルの微調整とは対照的です。後者は (転移学習による) モデルの再トレーニングを意味しますが、ゼロショット学習では追加のトレーニングは必要ありません。
次の図は、転移学習 (左) とゼロショット学習 (右) の違いを示しています。
インら。 自然言語推論 (NLI) を使用してゼロショット分類器を作成するためのフレームワークを提案しました。 このフレームワークは、配列を NLI 前提として分類することによって機能し、各候補ラベルから仮説を構築します。 たとえば、シーケンスがクラスに属しているかどうかを評価したい場合、 politics
, 「この文章は政治について書かれている」という仮説を立てることができます。 次に、含意と矛盾の確率がラベル確率に変換されます。 簡単に復習すると、NLI では前提と仮説という XNUMX つの文を考慮します。 タスクは、前提条件を考慮して仮説が真 (含意) か偽 (矛盾) かを判断することです。 次の表にいくつかの例を示します。
前提 | ラベル | 仮説 |
東アジアのどこかの国で、人物の制服を検査する男性。 | 矛盾 | 男は寝ています。 |
微笑む年上の男性と若い男性。 | 普通 | 二人の男性が床で遊んでいる猫を見て微笑んで笑っている。 |
複数の男性がプレーするサッカー ゲーム。 | 含意 | スポーツをしている男性もいます。 |
ソリューションの概要
この投稿では、次のことについて説明します。
- SageMaker JumpStart UI を使用して事前トレーニングされたゼロショット テキスト分類モデルをデプロイし、短いテキスト データを使用してデプロイされたモデルで推論を実行する方法
- SageMaker Python SDK を使用して、SageMaker JumpStart の事前トレーニング済みゼロショット テキスト分類モデルにアクセスし、推論スクリプトを使用してモデルを SageMaker エンドポイントにデプロイしてリアルタイム テキスト分類のユースケースを実現する方法
- SageMaker Python SDK を使用して、事前トレーニングされたゼロショット テキスト分類モデルにアクセスし、バッチ テキスト分類のユースケースで SageMaker バッチ変換を使用する方法
SageMaker JumpStart は、一般的な ML タスクにわたるさまざまな事前トレーニング済みモデルのワンクリックの微調整とデプロイを提供するだけでなく、一般的なビジネス上の問題を解決するエンドツーエンドのソリューションの選択も提供します。 これらの機能により、ML プロセスの各ステップから重労働が軽減され、高品質のモデルの開発が簡素化され、デプロイまでの時間が短縮されます。 の JumpStart API 独自のデータセットで事前にトレーニングされた膨大な数のモデルをプログラムで展開し、微調整することができます。
JumpStart モデル ハブは、カスタム データセットでの転移学習と微調整を可能にする多数の NLP モデルへのアクセスを提供します。 この記事の執筆時点で、JumpStart モデル ハブには、Stable Diffusion、Flan T300、Alexa TM、Bloom など、さまざまな人気モデルにわたる 5 を超えるテキスト モデルが含まれています。
このセクションの手順に従うと、インフラストラクチャを AWS アカウントにデプロイすることになり、コストが発生する可能性があることに注意してください。
スタンドアロンのゼロショット テキスト分類モデルを展開する
このセクションでは、SageMaker JumpStart を使用してゼロショット分類モデルをデプロイする方法を示します。 JumpStart ランディング ページから事前トレーニングされたモデルにアクセスできます。 Amazon SageMakerスタジオ。 次の手順を実行します。
- SageMaker Studio で、JumpStart ランディング ページを開きます。
参照する JumpStartを開いて使用する SageMaker JumpStart に移動する方法の詳細については、「SageMaker JumpStart」を参照してください。 - テキストモデル カルーセルで、「ゼロショット テキスト分類」モデル カードを見つけます。
- 選択する モデルを見る その
facebook-bart-large-mnli
モデル。
あるいは、検索バーでゼロショット分類モデルを検索し、SageMaker JumpStart でモデルにアクセスすることもできます。 - デプロイメント設定、SageMaker ホスティング インスタンス タイプ、エンドポイント名を指定します。 Amazon シンプル ストレージ サービス (Amazon S3) バケット名、およびその他の必須パラメーター。
- オプションで、次のようなセキュリティ構成を指定できます。 AWS IDおよびアクセス管理 (IAM) ロール、VPC 設定、および AWSキー管理サービス (AWS KMS) 暗号化キー。
- 選択する 配備します SageMaker エンドポイントを作成します。
このステップが完了するまでに数分かかります。 完了すると、ゼロショット分類モデルをホストする SageMaker エンドポイントに対して推論を実行できます。
次のビデオでは、このセクションの手順を詳しく説明します。
SageMakerSDKでJumpStartをプログラムで使用する
SageMaker Studio の SageMaker JumpStart セクションの クイック スタート ソリューション、あなたは見つけることができます ソリューションテンプレート。 SageMaker JumpStart ソリューション テンプレートは、多くの一般的な ML ユースケースに対応する、ワンクリックのエンドツーエンド ソリューションです。 この記事の執筆時点では、需要予測、不正行為の検出、パーソナライズされた推奨事項など、複数のユースケースに 20 を超えるソリューションが利用可能です。
「顔を抱きしめたゼロ ショット テキスト分類」ソリューションは、特定のラベルに合わせてモデルをトレーニングすることなくテキストを分類する方法を提供します (ゼロショット分類) 事前トレーニングされたテキスト分類子を使用します。 このソリューションのデフォルトのゼロショット分類モデルは、 フェイスブック-バート-ラージ-mnli (BART)モデル。 このソリューションでは、 2015 年新年の抱負データセット 解像度を分類します。 のみを含む元のデータセットのサブセット。 Resolution_Category
(グラウンド トゥルース ラベル) と text
列はソリューションのアセットに含まれます。
入力データには、テキスト文字列、分類に必要なカテゴリのリスト、および分類が同期 (リアルタイム) 推論用のマルチラベルであるかどうかが含まれます。 非同期 (バッチ) 推論の場合、テキスト文字列のリスト、各文字列のカテゴリのリスト、分類がマルチラベルかどうかを JSON 行形式のテキスト ファイルで提供します。
推論の結果は、次のスクリーンショットのような JSON オブジェクトです。
原文はこちらにあります sequence
フィールド、テキスト分類に使用されるラベル labels
フィールド、およびフィールド内の各ラベルに(同じ出現順で)割り当てられる確率 scores
.
顔を抱きしめたゼロ ショット テキスト分類ソリューションを展開するには、次の手順を実行します。
- SageMaker JumpStart ランディング ページで、 モデル、ノートブック、ソリューション ナビゲーションペインに表示されます。
- ソリューション セクションでは、選択 すべてのソリューションを調べる.
- ソフトウェア設定ページで、下図のように ソリューション ページで、Hugging Face モデル カードを使用したゼロ ショット テキスト分類を選択します。
- 導入の詳細を確認し、同意する場合は、 起動する.
デプロイメントでは、リアルタイム推論用の SageMaker リアルタイム エンドポイントと、バッチ変換結果を保存するための S3 バケットがプロビジョニングされます。
次の図は、このメソッドのアーキテクチャを示しています。
ゼロショット分類モデルを使用してリアルタイム推論を実行する
このセクションでは、Python SDK を使用して、SageMaker エンドポイントを使用して (利用可能なモデルのいずれかを使用して) ゼロショット テキスト分類をリアルタイムで実行する方法を確認します。
- まず、モデルに対する推論ペイロード リクエストを構成します。 これはモデルに依存しますが、BART モデルの場合、入力は次の構造を持つ JSON オブジェクトです。
- BART モデルは明示的にトレーニングされていないことに注意してください。
candidate_labels
。 ゼロショット分類手法を使用して、テキスト シーケンスを目に見えないクラスに分類します。 次のコードは、新年の抱負データセットのテキストと定義されたクラスを使用した例です。 - 次に、ゼロショット ペイロードを使用して SageMaker エンドポイントを呼び出すことができます。 SageMaker エンドポイントは、SageMaker JumpStart ソリューションの一部としてデプロイされます。
- 推論応答オブジェクトには、元のシーケンス、最大値から最小値までのスコアで並べ替えられたラベル、およびラベルごとのスコアが含まれます。
Python SDK を使用して SageMaker バッチ変換ジョブを実行する
このセクションでは、ゼロショット分類を使用してバッチ変換推論を実行する方法について説明します。 facebook-bart-large-mnli
を使用したモデル SageMaker Python SDK。 次の手順を実行します。
- 入力データを JSON 行形式でフォーマットし、ファイルを Amazon S3 にアップロードします。
SageMaker バッチ変換は、S3 ファイルにアップロードされたデータポイントに対して推論を実行します。 - 次のパラメータを使用してモデル デプロイメント アーティファクトを設定します。
- モデル ID - 使用する
huggingface-zstc-facebook-bart-large-mnli
. - デプロイイメージ_uri - 使用
image_uris
事前に構築された SageMaker Docker イメージを取得するための Python SDK 関数model_id
。 関数は次を返します。 Amazon エラスティック コンテナ レジストリ (Amazon ECR) URI。 - デプロイ_ソース_URI –
script_uris
ユーティリティ API を使用して、事前トレーニングされたモデル推論を実行するスクリプトを含む S3 URI を取得します。 を指定します。script_scope
asinference
. - モデルウリ - 使用する
model_uri
指定されたモデルのアーティファクトを Amazon S3 から取得します。model_id
.
- モデル ID - 使用する
-
HF_TASK
Hugging Face トランスフォーマー パイプラインのタスクを定義し、HF_MODEL_ID
テキストの分類に使用されるモデルを定義するには、次のようにします。タスクの完全なリストについては、を参照してください。 パイプライン ハグフェイスのドキュメントに記載されています。
- SageMaker バッチ変換ジョブでデプロイされる Hugging Face モデル オブジェクトを作成します。
- バッチ ジョブを実行するための変換を作成します。
- バッチ変換ジョブを開始し、S3 データを入力として使用します。
SageMaker コンソールでバッチ処理ジョブを監視できます ( バッチ変換ジョブ 下 推論 ナビゲーションペインで)。 ジョブが完了すると、で指定した S3 ファイルでモデル予測出力を確認できます。 output_path
.
SageMaker JumpStart で利用可能なすべての事前トレーニング済みモデルのリストについては、以下を参照してください。 事前トレーニング済みのモデル テーブルを使用した組み込みアルゴリズム。 検索バーでキーワード「zstc」(ゼロショット テキスト分類の略)を使用して、ゼロショット テキスト分類を実行できるすべてのモデルを見つけます。
クリーンアップ
ノートブックの実行が完了したら、このガイドでデプロイされた資産によって発生するコストが確実に発生しないように、プロセスで作成されたすべてのリソースを必ず削除してください。 デプロイされたリソースをクリーンアップするコードは、ゼロショット テキスト分類ソリューションおよびモデルに関連付けられたノートブックで提供されます。
デフォルトのセキュリティ構成
SageMaker JumpStart モデルは、次のデフォルトのセキュリティ構成を使用してデプロイされます。
SageMaker のセキュリティ関連トピックについて詳しくは、以下をご覧ください。 Amazon SageMaker でセキュリティを設定する.
まとめ
この投稿では、SageMaker JumpStart UI を使用してゼロショット分類モデルをデプロイし、デプロイされたエンドポイントを使用して推論を実行する方法を説明しました。 SageMaker JumpStart 新年の抱負ソリューションを使用して、SageMaker Python SDK を使用してエンドツーエンドのソリューションを構築し、ゼロショット分類アプリケーションを実装する方法を示しました。 SageMaker JumpStart は、コンピュータ ビジョン、自然言語処理、レコメンデーション システムなどのタスクのための何百もの事前トレーニングされたモデルとソリューションへのアクセスを提供します。 ご自身で解決策を試して、ご意見をお聞かせください。
著者について
デビッドラレド 彼は中南米の AWS Envision Engineering のプロトタイピング アーキテクトであり、複数の機械学習プロトタイプの開発を支援してきました。 以前は機械学習エンジニアとして働いており、5 年以上機械学習を行ってきました。 彼の興味のある分野は、NLP、時系列、エンドツーエンドの ML です。
ヴィクラムエランゴ 米国バージニア州に拠点を置くアマゾン ウェブ サービスの AI/ML スペシャリスト ソリューション アーキテクトです。 Vikram は、設計とソート リーダーシップにより、金融および保険業界の顧客が機械学習アプリケーションを大規模に構築および展開できるよう支援します。 彼は現在、自然言語処理、責任ある AI、推論の最適化、企業全体にわたる ML の拡張に重点を置いています。 余暇には、家族と一緒に旅行、ハイキング、料理、キャンプを楽しんでいます。
ヴィヴェック・マダン博士 Amazon SageMaker JumpStart チームの応用科学者です。 イリノイ大学アーバナ シャンペーン校で博士号を取得し、ジョージア工科大学で博士研究員を務めました。 彼は機械学習とアルゴリズム設計の活発な研究者であり、EMNLP、ICLR、COLT、FOCS、および SODA カンファレンスで論文を発表しています。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 自動車/EV、 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- チャートプライム。 ChartPrime でトレーディング ゲームをレベルアップしましょう。 こちらからアクセスしてください。
- ブロックオフセット。 環境オフセット所有権の近代化。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/zero-shot-text-classification-with-amazon-sagemaker-jumpstart/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 12
- 16
- 17
- 20
- 22
- 30
- 7
- 8
- 9
- a
- 能力
- 私たちについて
- 上記の.
- アクセス
- 達成する
- 越えて
- アクティブ
- NEW
- に対して
- AI
- AI / ML
- AL
- アレクサ
- アルゴリズム
- アルゴリズム
- すべて
- 許す
- ことができます
- Amazon
- アマゾンセージメーカー
- Amazon SageMaker ジャンプスタート
- Amazon Webサービス
- 量
- an
- および
- どれか
- API
- 申し込み
- 適用された
- 建築
- です
- エリア
- AS
- アジアン
- 資産
- 割り当てられた
- 関連する
- At
- 自動的に
- 利用できます
- AWS
- バー
- ベース
- ベース
- BE
- き
- さ
- 所属
- の間に
- ブルーム
- ボディ
- 本
- あさごはん
- ビルド
- 内蔵
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 缶
- 候補者
- できる
- カード
- キャリア
- カルーセル
- 例
- カテゴリ
- 猫
- 挑戦
- チェック
- 選択する
- class
- クラス
- 分類
- 分類された
- 分類します
- コード
- コラム
- コマンドと
- コンプリート
- 複雑さ
- コンピュータ
- Computer Vision
- コンピューター
- 心配
- 会議
- 考慮する
- 領事
- 構築する
- コンテナ
- 含まれています
- コントラスト
- 変換
- コスト
- 可能性
- 国
- カップル
- 作ります
- 作成した
- 作成
- 現在
- カスタム
- Customers
- データ
- データポイント
- データセット
- 専用の
- デフォルト
- 定義します
- 定義済みの
- 需要
- 需要予測
- 実証します
- 依存関係
- 依存
- 展開します
- 展開
- 展開
- 設計
- 希望
- 細部
- 検出
- 決定する
- 開発する
- 開発
- の違い
- 話し合います
- 多様性
- デッカー
- ドキュメント
- そうではありません
- すること
- 行われ
- 原因
- E&T
- 各
- 東
- 教育
- enable
- 暗号化
- 端から端まで
- エンドポイント
- エンジニア
- エンジニアリング
- 確保
- Enterprise
- エンティティ
- 想像する
- 評価する
- さらに
- 例
- 例
- 顔
- false
- 家族
- 特徴
- 少数の
- フィールド
- フィギュア
- File
- ファイナンス
- ファイナンシャル
- もう完成させ、ワークスペースに掲示しましたか?
- 床
- 焦点を当て
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- Foundation
- フレームワーク
- 詐欺
- 不正検出
- から
- function
- ゲーム
- 生成する
- 取得する
- GitHubの
- 与えられた
- 与え
- 陸上
- 成長性
- ガイド
- ハンドリング
- 持ってる
- he
- 健康
- ヘビー
- 重いもの
- 助けます
- 助けました
- ことができます
- 高品質
- 彼の
- ホスティング
- ホスト
- 認定条件
- How To
- HTML
- HTTP
- HTTPS
- ハブ
- 人間
- ユーモア
- 何百
- 数億
- ID
- アイデンティティ
- if
- イリノイ州
- 説明する
- 画像
- 実装する
- import
- in
- 含まれました
- 含ま
- 産業を変えます
- 情報
- インフラ関連事業
- 固有の
- 入力
- 保険
- 関心
- IT
- ジョブ
- Jobs > Create New Job
- JPG
- JSON
- キー
- キー
- 知っている
- ラベル
- ラベル
- 着陸
- 言語
- 大
- LATAM
- 打ち上げ
- リーダーシップ
- LEARN
- 学習
- 左
- う
- フェイスリフト
- ような
- LINE
- ライン
- リスト
- LLM
- ローディング
- LOOKS
- 機械
- 機械学習
- make
- 作る
- man
- 管理
- 多くの
- マックス
- 五月..
- メンズ
- 方法
- 何百万
- 分
- 分
- ML
- モデル
- モニター
- 他には?
- の試合に
- my
- 名
- ナチュラル
- 自然言語処理
- ナビゲート
- ナビゲーション
- 必要
- 新作
- 新年
- NLP
- いいえ
- ノート
- 数
- オブジェクト
- of
- on
- の
- 開いた
- 最適化
- or
- 注文
- 組織
- オリジナル
- その他
- でる
- 出力
- が
- 自分の
- ページ
- ペイン
- 論文
- パラダイム
- パラメータ
- 部
- path
- 以下のために
- 実行する
- パフォーマンス
- パーミッション
- 個人的な
- カスタマイズ
- 博士号
- フィランソロピー
- パイプライン
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 再生
- ポイント
- 政治
- 人気
- ポスト
- 練習
- 予測
- 予測
- 現在
- 前に
- 問題
- プロセス
- 処理
- 提案された
- プロトタイプ
- プロトタイピング
- 提供します
- 提供
- は、大阪で
- 準備
- 公表
- Python
- パイトーチ
- クイック
- すぐに
- 読む
- リアル
- への
- 最近
- 認識
- おすすめ
- 提言
- 縮小
- 削除します
- 要求
- 必要とする
- の提出が必要です
- 研究者
- リソース
- 応答
- 回答
- 責任
- 結果
- 結果
- 収益
- レビュー
- 右
- 職種
- ラン
- ランニング
- s
- セージメーカー
- 同じ
- Save
- 規模
- スケーリング
- 科学者
- スコア
- スクラッチ
- スクリプト
- スクローリング
- SDDK
- を検索
- セクション
- セキュリティ
- 選択
- シーケンス
- シリーズ
- サービス
- 設定
- ショート
- ショット
- 表示する
- 示されました
- 簡単な拡張で
- 単純化
- から
- サイズ
- サッカー
- 溶液
- ソリューション
- 解決する
- 一部
- 何か
- 話す
- 専門家
- 特定の
- 特に
- 指定の
- 話
- スポーツ
- 安定した
- スタンドアロン
- start
- 開始
- 最先端の
- 滞在
- 手順
- ステップ
- 停止
- ストレージ利用料
- 保存
- 文字列
- 構造
- 研究
- そのような
- サポート
- 確か
- システム
- テーブル
- 取る
- 取り
- 仕事
- タスク
- チーム
- テク
- テンプレート
- テキスト分類
- それ
- アプリ環境に合わせて
- その後
- ボーマン
- この
- 考え
- 思考リーダーシップ
- 介して
- 時間
- 時系列
- TM
- 〜へ
- トピック
- トレーニング
- 訓練された
- トレーニング
- 転送
- 最適化の適用
- 変換
- トランス
- トランスフォーマー
- 旅行
- 1兆
- true
- 真実
- 試します
- つぶやき
- 2
- type
- ui
- 下
- わかる
- 大学
- アップロード
- us
- つかいます
- 中古
- ユーティリティ
- 多様
- 広大な
- バージョン
- 非常に
- ビデオ
- バージニア州
- ビジョン
- vs
- ウォークスルー
- 欲しいです
- ました
- 仕方..
- we
- ウェブ
- Webサービス
- WELL
- した
- いつ
- かどうか
- while
- その
- ワイド
- 意志
- 無し
- 言葉
- 働いていました
- 作品
- 書き込み
- 年
- 年
- You
- ヤンガー
- あなたの
- ゼファーネット
- ゼロ
- ゼロショット学習