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 を導入しました。ネットユーザー:買う、買う、買う

ブログ    
ブログ    
ブログ    

推薦する

...

静的解析に機械学習を使用する方法

機械学習と人工知能は、特にマーケティング分析とサイバーセキュリティの分野で多くの分野で広く応用されて...

...

人工知能は社会に何をもたらすのでしょうか? 1つの記事でAIの変革を理解する

人類の科学技術が急速に発展する時代において、人工知能はその精密なアルゴリズムと高効率な作業能力により...

テンセント AI ラボが初の自動モデル圧縮フレームワークのソースを公開: ディープラーニングをポケットに

テンセントAIラボ機械学習センターは本日、世界初の自動ディープラーニングモデル圧縮フレームワーク「P...

未来 | 人工知能が人間社会を変える24の方法

今こそ、AI の将来を本当に理解するときです。 AI を取り巻く不安は雇用の減少など多岐にわたります...

Kaggle で競争する方法、全プロセスを解説

導入Kaggle は機械学習のコンペティションで最も有名なウェブサイトです。 Kaggle コンテス...

これらの 9 つの仕事が人工知能に置き換えられない理由

人工知能 (AI) と機械学習 (ML) の機能は徐々に拡大していますが、創造性、共感、感情認識など...

InnoDB ストレージ エンジンの 3 つの行ロック アルゴリズムの図解と例の分析

[[415025]]この記事はWeChatの公開アカウント「Flying Veal」から転載したもの...

Google DeepMindは、新しいAIモデルGeminiを開発中であることを明らかにし、「GPT-4よりも強力」であると主張している。

6月28日、先月のGoogle I/O開発者会議で、Googleは開発中の大規模言語モデル「Gem...

非人道的だ!人工知能はソーシャルエンジニアリングの天敵である

人工知能 (AI) はまだ初期段階ですが、AI は急速に企業が自らを守るための重要な手段になりつつあ...

音声認識のクロスドメインおよびクロス言語移行の難しさを少しずつ軽減するにはどうすればよいでしょうか?

編集者注: ディープラーニングの継続的な発展により、音声認識技術は大幅に向上し、人々の日常生活に多く...

...

顔認識に関する初の訴訟が法廷に。顔スキャンを拒否する権利は失われたのか?

今日では、顔認識技術は私たちの生活や消費の場面でますます利用されるようになっています。最近、「中国初...