GPT4すべて
LLaMa に基づく ~800k GPT-3.5-Turbo Generations を使用してアシスタント スタイルの大規模言語モデルをトレーニングするためのデモ、データ、およびコード
📗テクニカルレポート
不和
M1 Mac で実行 (高速化されていません!)
自分で試してみてください
CPU 量子化された gpt4all モデル チェックポイントを開始する方法は次のとおりです。
- Direct Linkまたは[Torrent-Magnet]gpt4all-lora-quantized.binからファイルをダウンロードします。
- このリポジトリのクローンを作成し、 に移動してchat、ダウンロードしたファイルをそこに配置します。
- OS に適したコマンドを実行します。
- M1 Mac/OSX:cd chat;./gpt4all-lora-quantized-OSX-m1
- Linux:cd chat;./gpt4all-lora-quantized-linux-x86
- Windows (PowerShell):cd chat;./gpt4all-lora-quantized-win64.exe
- インテル Mac/OSX:cd chat;./gpt4all-lora-quantized-OSX-intel
カスタム ハードウェアのコンパイルについては、Alpaca C++リポジトリを参照してください。
Secret Unfiltered Checkpoint - [Torrent]
このモデルでは、トレーニングから削除された応答に対するすべての拒否がありました。試してみてください:
-
cd chat;./gpt4all-lora-quantized-OSX-m1 -m gpt4all-lora-unfiltered-quantized.bin
注: GPU 上の完全なモデル (16 GB の RAM が必要) は、定性的な評価ではるかに優れたパフォーマンスを発揮します。
Python クライアント
CPU インターフェース
CPU インターフェイスを備えた Python クライアントを使用して実行するには、まず を使用してnomic クライアントpip install nomicをインストールします 。次に、次のスクリプトを使用して GPT4All と対話します。
from nomic.gpt4all import GPT4All
m = GPT4All()
m.open()
m.prompt('write me a story about a lonely computer')
GPU インターフェイス
GPU でこのモデルを起動して実行するには、2 つの方法があります。ここでのセットアップは、CPU モデルよりも少し複雑です。
nomic クライアントリポジトリのクローンを作成し、pip install .[GPT4All]ホーム ディレクトリで実行します。
ここでpip install nomic構築されたホイールから追加の deps を実行してインストールします
これが完了したら、次のようなスクリプトを使用して GPU でモデルを実行できます。
from nomic.gpt4all import GPT4AllGPU
m = GPT4AllGPU(LLAMA_PATH)
config = {'num_beams': 2,
'min_new_tokens': 10,
'max_length': 100,
'repetition_penalty': 2.0}
out = m.generate('write me a story about a lonely computer', config)
print(out)
LLAMA_PATH は、Huggingface Automodel 準拠の LLAMA モデルへのパスです。Nomic は現在、このファイルを配布できません。現在、この制限がない GPT4All に取り組んでいます。
構成で、huggingface 生成構成パラメーターのいずれかを渡すことができます。
ロードマップ
短期
- (進行中) GPTJ に基づいて GPT4All モデルをトレーニングし、ラマの分布の問題を軽減します。
- (進行中)このモデル用に改良された CPU および GPU インターフェースを作成します。
- (未開始) llama.cpp バインディングの統合
- (まだ開始されていません)モデル用の優れた会話型チャット インターフェイスを作成します。
- (まだ開始されていません)ユーザーがオプトインして、その後のトレーニング実行のためにチャットを送信できるようにします
中期
- (まだ開始されていません) GPT4All をAtlasと統合して、ドキュメントを取得できるようにします。
GPTJ に基づく GPT4All によるブロック - (まだ開始されていません) GPT4All を Langchain と統合します。
- (進行中)簡単なカスタム トレーニング スクリプトを作成して、ユーザーがモデルを微調整できるようにします。
長期
- (まだ開始されていません) Atlas を使用して、誰でも後続の GPT4All リリースのトレーニング データをキュレートできるようにします。
- (進行中) AI を民主化します。
再現性
訓練された LoRa の重み:
gpt4all-lora (トレーニングの 4 つの完全なエポック): https://huggingface.co/nomic-ai/gpt4all-lora
gpt4all-lora-epoch-2 (トレーニングの 3 つの完全なエポック) https://huggingface.co/nomic-ai/gpt4all-lora-epoch-2
生データ:
P3 なしのトレーニング データ
エクスプローラー: https://atlas.nomic.ai/map/gpt4all_data_clean_without_p3
P3 を含む完全なデータセット
エクスプローラー: https://atlas.nomic.ai/map/gpt4all_data_clean
LLaMa 7B チェックポイントは配布していません。
次のようにして、トレーニング済みのモデルを再現できます。
設定
レポをクローンする
git clone --recurse-submodules https://github.com/nomic-ai/gpt4all.git
git submodule configure && git submodule update
環境をセットアップする
python -m pip install -r requirements.txt
cd transformers
pip install -e .
cd ../peft
pip install -e .
トレーニング
accelerate launch --dynamo_backend=inductor --num_processes=8 --num_machines=1 --machine_rank=0 --deepspeed_multinode_launcher standard --mixed_precision=bf16 --use_deepspeed --deepspeed_config_file=configs/deepspeed/ds_config.json train.py --config configs/train/finetune-7b.yaml
生成
python generate.py --config configs/generate/generate.yaml --prompt "Write a script to reverse a string in Python"
助けが必要?
Discordに参加して助けを求める#gpt4all-help
サンプル世代
与えられたエクササイズの指示を出します。レッグレイズ
レッグレイズ
足を肩幅に開いて立ち、膝を少し曲げます。
腕をまっすぐ前に上げます。
ゆっくりと膝を曲げ、かかとを地面から離します。
3つ数えながらこの姿勢を保ち、ゆっくりとかかとを地面に戻します。
運動を10回繰り返します。
膝がつま先より前に出ないようにします。
背中をまっすぐに保ち、腹部の筋肉を引き締めます。
腰が垂れたり、背中が反ったりしないようにします。
腕をまっすぐに保ち、肘をロックします。
頭を下げたり、肩を上げたりしないでください。
エクササイズ中は普通に呼吸してください。
エクササイズを繰り返す前に、30 秒間休憩します。
体力がついてきたら、徐々に回数を増やしていきましょう。
色の説明がありました。その色に関連付けられている CSS コードを見つけます。ピンクの中間の明るい色合いの明るい赤色
提供された色に関連付けられた CSS コードは #FF6347 です。
新しい映画のプロットについて興味深いアイデアを思いつきます。プロットは、タイトルと要約で説明する必要があります。
映画のあらすじのタイトルは「The Last Stand」にする必要があります。2. 映画のあらすじは次のようになります。 傭兵のグループが、逃走中の危険な犯罪者から小さな町を守るために雇われます。しかし、町の保安官は彼らが引き継ぐことを望んでおらず、自分の手で問題を解決することにしました.
Pythonで文字列を逆にする.
Python では、reversed() 関数を使用して、リストまたはタプルを逆にすることができます。このメソッドを文字列で使用する方法の例を次に示します。
my_string = "Hello World" # Define your original string here
reversed_str = my_string[::-1] # Use a slice and negative index for reverse order
print(reversed_str) # Output will be reversed version of the inputted string.
犬を10匹挙げてください。
ラブラドール・レトリバー
ゴールデンレトリバー
ビーグル
プードル
ジャーマンシェパード
ブルドッグ
ロットワイラー
ボクサー
シーズー
パグ
弱強五歩格でジュリアス・シーザーがシーザー・サラダに転落したことについての詩を書いてください。
ユリウス・シーザーのシーザー・サラダへの転落 強大なローマ皇帝は弱強五歩格で、レタスとクルトンのサラダに落ちた。かつて強大だった皇帝は今やサラダのトッピングに過ぎず、彼の遺産は単なる付け合わせにまで減り、彼は大衆に消費されました。ユリウス・シーザーのシーザーサラダへの転落は、弱強五歩格で、かつて鉄の拳で世界を支配した偉大な男の悲劇的な終わりでした。しかし今、彼はただのサラダのトッピングであり、彼の遺産は単なる付け合わせにまで減り、大衆に消費されました.
次のキーワードを説明する 3 語のトピックは何ですか: 野球、フットボール、サッカー:
スポーツ、陸上競技、ゲーム
引用
このリポジトリ、モデル、またはデータをダウンストリーム プロジェクトで利用する場合は、次のように引用することを検討してください。
@misc{gpt4all,
author = {Yuvanesh Anand and Zach Nussbaum and Brandon Duderstadt and Benjamin Schmidt and Andriy Mulyar},
title = {GPT4All: Training an Assistant-style Chatbot with Large Scale Data Distillation from GPT-3.5-Turbo},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/nomic-ai/gpt4all}},
}