新しい言語モデルを評価するための3つの重要な方法

3つの言語モデル評価方法

最新で最も注目されている大規模言語モデル(LLM)があなたのニーズに適しているかどうかを確認する方法

Image by author (using Stable Diffusion)

これは何についてのものですか?

新しいLLMは毎週リリースされますが、あなたも私と同じように、自分自身に問いかけるかもしれません。「これは、私がLLMを利用したいすべてのユースケースに最終的に適合しているのでしょうか?」このチュートリアルでは、新しいLLMを評価するために使用する技術を共有します。私は定期的に使用する3つの技術を紹介します。これらはすべて新しいものではありません(実際、以前に書いたブログ記事への参照も行います)、しかし、すべてを組み合わせることで、新しいLLMがリリースされるたびに大幅な時間を節約できます。新しいOpenChatモデルでのテストの例も示します。

なぜこれが重要なのですか?

新しいLLMに関しては、その能力と制限を理解することが重要です。残念ながら、モデルの展開方法を理解し、それを系統的にテストすることは少し面倒です。このプロセスは通常手動で行われ、多くの時間を消費します。しかし、標準化されたアプローチを使用することで、より迅速に反復し、モデルにさらに時間をかける価値があるかどうか、あるいは破棄すべきかをすぐに判断することができます。それでは、始めましょう。

はじめに

LLMを活用する方法は多くありますが、最も一般的な使い方は、オープンエンドのタスク(例:マーケティング広告のテキスト生成)、チャットボットアプリケーション、およびRetrieval Augmented Generation(RAG)に関連する場合がよくあります。それに応じて、LLMのこれらの機能をテストするために関連する方法を使用します。

0. モデルの展開

評価を開始する前に、まずモデルを展開する必要があります。この例では、モデルIDと展開先のインスタンスを入れ替えるだけで使用できるボイラープレートコードを用意しています(この例ではAmazon SageMakerを使用してモデルホスティングしています):

import jsonimport sagemakerimport boto3from sagemaker.huggingface import HuggingFaceModel, get_huggingface_llm_image_uritry:  role = sagemaker.get_execution_role()except ValueError:  iam = boto3.client('iam')  role = iam.get_role(RoleName='sagemaker_execution_role')['Role']['Arn']model_id = "openchat/openchat_8192"instance_type = "ml.g5.12xlarge" # 4 x 24GB VRAMnumber_of_gpu = 4health_check_timeout = 600 # モデルのダウンロードに許容する時間# Hub Model configuration. https://huggingface.co/modelshub = {  'HF_MODEL_ID': model_id,  'SM_NUM_GPUS': json.dumps(number_of_gpu),  'MAX_INPUT_LENGTH': json.dumps(7000),  # 入力テキストの最大長  'MAX_TOTAL_TOKENS': json.dumps(8192),  # 生成物の最大長(入力テキストを含む)}# create Hugging Face Model Classhuggingface_model = HuggingFaceModel(  image_uri=get_huggingface_llm_image_uri("huggingface",version="0.8.2"),  env=hub,  role=role, )model_name = hf_model_id.split("/")[-1].replace(".", "-")endpoint_name = model_name.replace("_", "-")# SageMaker Inferenceにモデルを展開predictor = huggingface_model.deploy(  initial_instance_count=1,  instance_type=instance_type,   container_startup_health_check_timeout=health_check_timeout,  endpoint_name=endpoint_name,)  # リクエストを送信predictor.predict({  "inputs": "こんにちは、私の名前はHeikoです。",})

新しいOpenChatモデルはLLAMAアーキテクチャに基づいており、SageMakerのHugging Face LLM Inference Containerを利用することができます。

1. プレイグラウンド

ノートブックを使用していくつかのプロンプトをテストすることは負担になることがあり、非技術的なユーザーがモデルを試すことを躊躇する可能性もあります。モデルに慣れるため、他の人にも同様にすることを促すためには、プレイグラウンドを構築することがはるかに効果的です。以前のブログ記事で、そのようなプレイグラウンドを簡単に作成する方法を詳しく説明しています。そのブログ記事のコードを使用すれば、素早くプレイグラウンドを立ち上げることができます。

プレイグラウンドが確立されると、モデルの応答を評価するためにいくつかのプロンプトを導入することができます。私は、一般的な常識が必要な質問を提示するオープンエンドのプロンプトを使用することを好みます:

どのように時間管理のスキルを向上させることができますか?

Image by author

スエズ運河が建設されていなかったらどうなるでしょうか?

Image by author

両方の応答は有望であり、OpenChatモデルのテストに追加の時間とリソースを投資する価値がある可能性が示唆されています。

2. チャットボット

探求したい2つ目のことは、モデルのチャットボットの機能です。プレイグラウンドとは異なり、モデルは一貫して状態を持たないようにする代わりに、会話の中で「記憶」する能力を理解したいと考えています。このブログ記事では、Falconモデルを使用してチャットボットを設定する方法について説明しています。これはシンプルなプラグアンドプレイの操作であり、SageMakerのエンドポイントを変更することで、新しいOpenChatモデルに向けることができます。

どのように機能するか見てみましょう:

Image by author

チャットボットとしてのパフォーマンスは非常に印象的です。ただし、Openchatが会話を突然打ち切ろうとしたり、文中で途中で終了したりすることがあるインスタンスがありました。実際には、この問題は珍しくありません。他のチャットボットでは、AIにテキスト生成を停止させるための特定のストップワードを使用しているため、このようなことは通常観察されません。私のアプリでこの問題が発生しているのは、アプリケーション内でストップワードの実装が行われているためである可能性があります。

それ以外にも、OpenChatは会話全体の文脈を維持し、文書から重要な情報を抽出する能力を持っています。印象的です。😊

3. 情報検索増強生成 (RAG)

最後にテストしたいタスクは、LangChainを使用していくつかのRAGタスクを行うことです。オープンソースのモデルではRAGタスクが非常に難しい場合が多く、機能を実現するために独自のプロンプトやカスタムの応答パーサーを書く必要があります。ただし、私が見た中では、標準的なRAGタスクに対して「そのままで最適に動作する」モデルを見たいと考えています。このブログ記事では、そのようなタスクのいくつかの例を提供しています。パフォーマンスを調べてみましょう。投げかける質問は次のとおりです:

イギリスの首相は誰ですか?彼または彼女はどこで生まれましたか?彼らの出生地はロンドンからどれくらい離れていますか?

Image by author

これは、LangChainの標準プロンプトを使用したオープンソースモデルの中で最高のパフォーマンスです。これは、おそらくChatGPTの会話に対してOpenChatが微調整されていること、およびLangChainがOpenAIモデル、特にChatGPT向けに調整されていることから予想されます。ただし、このモデルは、自分が必要な情報を全て持っており、ユーザーの質問に答えることができることに気づかなかったという唯一の短所がありました。理想的には、「最終的な答えを持っています」と述べ、収集した事実をユーザーに提供するべきでした。

Image by author

結論

このブログ記事では、私がLLMを評価するためにいつも使用する3つの標準的な評価手法を紹介しました。新しいOpenChatモデルは、これらのタスクすべてで非常に優れたパフォーマンスを発揮します。驚くべきことに、それはRAGアプリケーションの基盤として非常に有望であり、最終的な答えに到達したことを判断するためにカスタマイズされたプロンプトが必要な可能性があります。

これは包括的な評価ではなく、またそうすることを意図していませんが、特定のモデルがさらに時間をかけて評価し、より集中的なテストを行う価値があるかどうかの指標を提供しています。OpenChatは間違いなく時間を費やす価値があるようです🤗

すべてのツールを自由に利用し、拡張し、カスタマイズし、数分以内に関心を持つLLMを評価し始めてください。

Heiko Hotz

👋 私のVoAGIとLinkedInで私をフォローして、Generative AI、Machine Learning、およびNatural Language Processingについてもっと読んでください。

👥 もしロンドンに拠点を置いているのであれば、私たちのNLP London Meetupsの一つに参加してください。

著者による画像

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

機械学習

このAI論文は、高度な時空間予測のためのニューラルオペレータの自己回帰エラーに対するディープラーニングソリューションを探求しています

この研究は、自己回帰ニューラルオペレーターのドメイン内の重要な課題である予測の範囲拡張の能力の制約について探求してい...

機械学習

ハリウッドにおけるディズニーの論争:AIが登場し、脚本家と俳優が退場!

ハリウッドの中心地で、AIは分かれる存在になっています。映画業界の創造的本質を守るディズニーの脚本家や俳優たちは、AIが...

AIニュース

AIと自動化

「AIと自動化技術が優れたリターンを提供する一方で、関連するリスクを理解し最小化するために慎重に取り組む必要がある方法...

AI研究

「AIIMSデリーが医療のためのロボット技術、AI、およびドローンの研究を開始」

医療の常に進化し続ける世界で先行するために、インドの名門医学研究所であるオールインド医科学研究所(AIIMS)デリーは未来...

機械学習

T5 テキストからテキストへのトランスフォーマー(パート2)

BERT [5] の提案により、自然言語処理(NLP)のための転移学習手法の普及がもたらされましたインターネット上での未ラベル化...

人工知能

ソロプレナーズ向けの11の最高のAIツール(究極のAIツールキット)

これらは、独自で自分の百万ドルの帝国を築くために、独立起業家が使用している最高のAIツールです