ChatGPTに勝つ? OpenChat が 105.7% のパフォーマンスでスタンフォード AlpacaEval オープンソース リストのトップに

ChatGPTに勝つ? OpenChat が 105.7% のパフォーマンスでスタンフォード AlpacaEval オープンソース リストのトップに

一夜にして、新しいオープンソースモデル「OpenLLM」がChatGPTを打ち負かしたというニュースがインターネット上で騒動を引き起こした。

公式紹介によると、OpenLLM は次のようになります。

- スタンフォードAlpacaEvalで勝率80.9%でオープンソースモデルの中で第1位にランクイン

- Vicuna GPT-4の評価では、パフォーマンスはChatGPTの105.7%に達しました。

写真

最も重要なのは、このような優れたパフォーマンスを実現するには、微調整トレーニングに必要な GPT-4 対話データは 6K のみであることです。

写真

プロジェクトアドレス: https://github.com/imoneoi/openchat

ただし、Chatbot Arena の「リスト所有者」は、古い Vicuña 評価ベンチマークには偏りがあるため、より多くの側面で LLM の機能をより適切に評価できるように、新たに提案された MT ベンチに移行することを推奨していると指摘しました。

写真

OpenLLM: 微調整に必要なのは 6K の GPT-4 ダイアログのみ

OpenLLM は、多様で高品質なマルチターン会話データセットに基づいて微調整されたオープンソース言語モデルのファミリーです。

具体的には、研究者は約 90,000 件の ShareGPT ダイアログから約 6,000 件の GPT-4 ダイアログを除外しました。

6k データの微調整後、驚くべきことに、OpenLLM は限られたデータで高いパフォーマンスを達成することが示されました。

OpenLLM には、OpenChat と OpenChat-8192 という 2 つの一般的なモデルがあります。

写真

OpenChat: LLaMA-13B で微調整済み、コンテキスト長 2048

- Vicuna GPT-4評価でChatGPTスコア105.7%を達成

- AlpacaEvalで驚異の80.9%の勝率を達成

OpenChat-8192: LLaMA-13B に基づいて微調整され、コンテキストの長さは 8192 です。

- Vicuna GPT-4評価でChatGPTスコアの106.6%を達成

- AlpacaEval での勝率は 79.5%

写真

さらに、OpenLLM には次の機能を備えたコード モデルがあります。

OpenCoderPlus: StarCoderPlusに基づくと、元のコンテキストの長さは8192です

- Vicuna GPT-4評価でChatGPTスコア102.5%を達成

- AlpacaEval での勝率は 78.7%

モデル評価

研究者らは、Vicuna GPT-4 と AlpacaEval ベンチマークを使用して最新モデルを評価しました。その結果が下の図に示されています。

写真

Vicuna GPT-4 の評価 (vs gpt-3.5-turbo)

写真

Vicuna GPT-3.5-Turbo 評価 (vs gpt-3.5-turbo)

さらに、研究者が採用した評価モデルはビクーニャの評価モデルとは若干異なり、潜在的なバイアスを減らすために証拠キャリブレーション(EC)+バランスポジションキャリブレーション(BPC)も使用したことにも注目すべきです。

写真

設置と重量

OpenLLM を使用するには、CUDA と PyTorch をインストールする必要があります。ユーザーはこのリポジトリをクローンし、pip 経由でこれらの依存関係をインストールできます。

 git clone [email protected]:imoneoi/OChat.git pip install -r requirements.txt

現在、研究者らはすべてのモデルの完全な重みを huggingface リポジトリとして公開しています。

ユーザーは次のコマンドを使用して、http://localhost:18888 でローカルに API サーバーを起動できます。

写真

とりわけ、サーバーは OpenAI パッケージおよび ChatCompletions プロトコルと互換性があります (一部の機能は完全にサポートされていない可能性があることに注意してください)。

ユーザーは、次の設定によって OpenAI パッケージのサーバーを指定できます。

 openai.api_base = "http://localhost:18888/v1"

現在サポートされている ChatCompletions パラメータは次のとおりです。

写真

推奨事項: サーバーを実行するには、少なくとも 40 GB (1x A100) のビデオ メモリを備えた GPU を使用します。

データセット

変換されたデータセットは openchat_sharegpt4_dataset で入手できます。

このプロジェクトで使用されるデータセットは、ShareGPT のクリーンアップおよびスクリーニングされたバージョンです。

このうち、元の ShareGPT データセットには約 90,000 のダイアログが含まれていますが、微調整用に保持されるのはクリーンアップされた GPT-4 ダイアログ 6,000 個のみです。

クリーンアップされた GPT-4 ダイアログは、ダイアログ テンプレートとターン終了トークンと結合され、モデルのコンテキスト制限に従って切り捨てられます (制限外のコンテンツは破棄されます)。

データ処理フローを実行するには、次のコマンドを実行します。

 ./ochat/data/run_data_pipeline.sh INPUT_FOLDER OUTPUT_FOLDER

入力フォルダーには、各 ShareGPT ダイアログ ページの .html ファイルを含む ShareGPT フォルダーが含まれている必要があります。

データ処理フローは、次の 3 つのステップで構成されます。

- クリーニング: HTML をクリーンアップして Markdown 形式に変換し、誤ってフォーマットされた会話を削除し、ブロックされた単語を含む会話を削除し、正確なハッシュベースの重複排除を実行します。

- フィルター: トークンがモデル: GPT-4である会話のみを保持します

- 変換: モデルを微調整するために、すべての会話が変換され、セグメント化されます。

最終的に変換されたデータセットは次の形式になります。

MODEL_TYPE.train.json / .eval.json

 [ [token_id_list, supervise_mask_list], [token_id_list, supervise_mask_list], ... ]

MODEL_TYPE.train.text.json / .eval.text.json token_id_list からデコードされたプレーンテキスト

さらに、研究者らは会話の埋め込みを視覚化するツールも提供した。

ブラウザで ochat/visualization/ui/visualizer.html を開き、MODEL_TYPE.visualizer.json を Web ページにドラッグ アンド ドロップするだけです。 3D グラフ内のポイントをクリックすると、対応するダイアログが表示されます。

埋め込みは openai_embeddings.py を使用して作成され、その後、dim_reduction.ipynb を使用して UMAP 次元削減と K-Means カラーリングが行われます。

写真

モデルの変更

研究者らは、各基本モデルに EOT (会話終了) トークンを追加しました。

LLaMA モデルの場合、EOT の埋め込みは、既存のすべてのトークン埋め込みの平均として初期化されます。 StarCoder モデルの場合、EOT の埋め込みは標準偏差 0.02 でランダムに初期化されます。

8192 コンテキストを持つ LLaMA ベースのモデルの場合、max_position_embeddings は 8192 に設定され、RoPE (相対位置エンコーディング) コードの外挿が実行されます。

電車

モデルのトレーニング時に使用されたハイパーパラメータは、すべてのモデルで同じでした。

写真

8xA100 80GBを使用したトレーニング:

 NUM_GPUS=8 deepspeed --num_gpus=$NUM_GPUS --module ochat.training_deepspeed.train \ --model_type MODEL_TYPE \ --model_path BASE_MODEL_PATH \ --save_path TARGET_FOLDER \ --length_grouping \ --epochs 5 \ --data_path DATASET_PATH \ --deepspeed \ --deepspeed_config ochat/training_deepspeed/deepspeed_config.json

評価する

Vicuna GPT-4 評価を実行するには、次の手順に従います。

1. 模範解答を作成する

python -m ochat.evaluation.get_model_answer --model_type MODEL_TYPE --models_path PATH_CONTAINING_ALL_MODELS_SAME_TYPE --data_path ./ochat/evaluation/vicuna --output_path ./eval_results

2. ベースライン(GPT-3.5)の回答を生成する

OPENAI_API_KEY=sk-XXX python -m ochat.evaluation.get_openai_answer --data_path ./ochat/evaluation/vicuna --output_path ./eval_baselines --model_types gpt-3.5-turbo

3. GPT-4評価を実行する

OPENAI_API_KEY=sk-XXX python -m ochat.evaluation.openai_eval --data_path ./ochat/evaluation/vicuna --baseline_path ./eval_baselines/vicuna_gpt-3.5-turbo.jsonl --input_path ./eval_results

4. 視覚化と詳細

評価結果を視覚化してプロットするには、ブラウザで ochat/visualization/eval_result_ui/eval_result_visualizer.html を開き、./eval_results/eval_result_YYYYMMDD フォルダ内のすべてのファイルを選択して結果を表示します。

制限

基本的なモデルの制限

優れたパフォーマンスを実現しているにもかかわらず、OpenLLM は依然として、その基盤となるモデルに固有の制限によって制限されています。これらの制限は、次の領域でモデルのパフォーマンスに影響を及ぼす可能性があります。

- 複雑な推論

- 数学と算数の課題

- プログラミングとコーディングの課題

情報が存在しないという幻想

OpenLLM は、存在しない情報や不正確な情報(「幻覚」とも呼ばれる)を生成することがあります。ユーザーはこの可能性を認識し、モデルから取得した重要な情報を検証する必要があります。

参考文献:

https://github.com/imoneoi/openchat

アルパカ評価

<<:  周明氏との対話: ラストマイルを解決するために大きなモデルを使用するときは、理想主義にならないでください。

>>:  Mathematica が Big Language Model を導入しました。ネットユーザー:買う、買う、買う

ブログ    
ブログ    

推薦する

2021年に自動運転はどのように発展するのでしょうか?

EEtimesより翻訳2021年に自動運転車はどうなるでしょうか。自動運転業界の昨年の業績は平凡で...

今年の主要リリース: 人工知能開発レポート 2020

過去10年間で、人工知能は研究室から工業生産へと移行し、従来の産業モデルを再構築し未来をリードする価...

キャッシュに関して最も懸念される問題は何ですか?種類は何ですか?リサイクル戦略とアルゴリズム?

[[342437]]著者は、正確なタイミング タスクと遅延キュー処理機能を備えた、高同時実行シナリ...

負荷分散アルゴリズムの分類の詳細な説明

負荷分散により、ネットワーク パフォーマンスとネットワーク動作環境を効果的に改善できます。では、負荷...

電荷ベースの原子シミュレーションのための事前学習済み汎用ニューラルネットワーク CHGNet

複雑な電子相互作用の大規模シミュレーションは、原子モデル化における最大の課題の 1 つです。古典的な...

AIとクラウドコンピューティングの深い統合は何をもたらすのでしょうか?

「AIは多くのリソースを消費し、強力なコンピューティング能力を必要とし、規模の経済性を反映する技術...

写真やビデオをロスレスで拡大しますか?これら2つのAIツールは持つ価値がある

編集者として、執筆という主な仕事に加えて、イラストレーションという非常に重要な問題を考慮する必要があ...

今年の AI における最大の進歩は進歩なし? 2019年はAutoMLとGANがリードする

11 日間、11 人、11 人の見込み客。 2018 年が終わるまで残り 11 日となりました。有名...

梅の花の山の上を歩くロボット犬?自転車は自分でバランスをとることができますか?テンセント・ロボティクスXラボ研究初の「開封」

テンセントは11月20日、移動ロボット研究における新たな進展を発表し、四足移動ロボット「ジャモカ」と...

20 分で回路基板の組み立て方を学びましょう!オープンソースのSERLフレームワークは、精密制御において100%の成功率を誇り、人間の3倍の速さです。

近年、四足歩行、把持、器用な操作など、ロボットの強化学習技術の分野では大きな進歩が遂げられていますが...

人工知能デジタル技術の強化は現実予測において徐々にその力を発揮しつつある

現在、人工知能は人々の生活の中でますます普及しており、生活のあらゆるところで人工知能を見つけることが...

ガートナーの調査結果: CEO は AI を業界に最も大きな影響を与える破壊的技術と見なしている

「ジェネレーティブ AI はビジネスや運用モデルに多大な影響を及ぼすでしょう」と、ガートナーの著名な...

Google の最も強力な NLP モデル BERT はなぜこれほどクールで強力なのでしょうか?テンセントのプログラマーが最初から教えてくれる

1. 背景検索シナリオでは、ユーザーの検索クエリと思い出された記事のタイトルとの関連性は、ユーザーの...

人工知能の道のりは長い

「人工知能」は最近、特に資本市場で非常に人気があります。実は、これはすべて予想されたことです。物語を...