GPT4All【GPT4のすべて】

# GPT4すべて
LLaMa に基づく ~800k GPT-3.5-Turbo Generations を使用してアシスタント スタイルの大規模言語モデルをトレーニングするためのデモ、データ、およびコード

📗テクニカルレポート

不和

![](https://user-images.githubusercontent.com/13879686/228352356-de66ca7a-df70-474e-b929-2e3656165051.gif)



M1 Mac で実行 (高速化されていません!)

# 自分で試してみてください
CPU 量子化された gpt4all モデル チェックポイントを開始する方法は次のとおりです。

1. Direct Linkまたは[Torrent-Magnet]gpt4all-lora-quantized.binからファイルをダウンロードします。
2. このリポジトリのクローンを作成し、 に移動してchat、ダウンロードしたファイルをそこに配置します。
3. 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 と対話します。

```python
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 でモデルを実行できます。

```python
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 チェックポイントは配布していません。

次のようにして、トレーニング済みのモデルを再現できます。

## 設定
レポをクローンする

```bash
git clone --recurse-submodules https://github.com/nomic-ai/gpt4all.git

git submodule configure && git submodule update
```

環境をセットアップする

```bash
python -m pip install -r requirements.txt

cd transformers
pip install -e . 

cd ../peft
pip install -e .
```

## トレーニング
```bash
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
```
## 生成
```bash
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 語のトピックは何ですか: 野球、フットボール、サッカー:
スポーツ、陸上競技、ゲーム

# 引用
このリポジトリ、モデル、またはデータをダウンストリーム プロジェクトで利用する場合は、次のように引用することを検討してください。


```bash
@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}},
}
```