フロントエンドのベータ版をチェックしてください。また、世界最高のオープンソース ロールプレイ LLM を作成するという私たちのビジョンについては、ローンチ ツイートをご覧ください。
注:次のドキュメントは、Bittensor の基本的な概念 (マイナー、バリデーター、およびインセンティブ) を理解していることを前提としています。入門書が必要な場合は、https://docs.bittensor.com/learn/bittensor-building-blocks をご覧ください。
Dippy は、 100 万人以上のユーザーを抱える世界有数の AI コンパニオン アプリです。このアプリはドイツなどの国のApp Store で 3 位にランクされており、 Wired 誌などの出版物でも取り上げられており、平均的な Dippy ユーザーはアプリに 1 時間以上費やしています。
Bittensor 上の Dippy ロールプレイ サブネットは、オープンソース コミュニティの総力を活用して、世界最高のオープンソース ロールプレイ LLM を作成することを目指しています。このサブネットは、人口の大部分が影響を受け、さまざまな精神的および身体的健康問題に関連している孤独という重大な問題に取り組んでいます。
現在の SOTA LLM (Claude、OpenAI など) はアシスタントのユースケース向けに設計されており、交際に必要な共感能力が欠けています。一部の企業 (Character AI や Inflection など) はクローズドソースのロールプレイ LLM を開発していますが、オープンソースの代替品はパフォーマンスの点で大幅に遅れています。
最先端のロールプレイ LLM の作成の複雑さを考慮して、プロセスを 3 つの異なるフェーズに分割する予定です。
フェーズ 1:
フェーズ 2:
フェーズ 3:
マイナーは既存のフレームワーク、微調整テクニック、または MergeKit を使用してモデルをトレーニング、微調整、またはマージして、独自のロールプレイ LLM を作成します。これらのモデルは、共有の Hugging Face プールに送信されます。
検証者は、プロトコルを通じてモデルのパフォーマンスを評価し、さまざまな指標 (共感、簡潔さなど) に基づいて提出物をランク付けします。当社は、最先端のデータセットを備えた一連のテストおよびベンチマーク プロトコルを提供します。
まず、リポジトリのクローンを作成し、それにcd
。
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
マイナーとして、ロールプレイ LLM を推進するために、新しいモデルのトレーニング、既存のモデルのマージ (MergeKit をお勧めします)、既存のモデルの微調整などを含む、自由に利用できるすべての方法を活用する責任があります。
フェーズ 1 の基準は次のとおりです。
ロールプレイのユースケースにおけるモデルのパフォーマンスに満足したら、それを Hugging Face ? に送信するだけです。次に、次のコマンドを使用します。
python3 dippy_subnet/upload_model.py --hf_repo_id HF_REPO --wallet.name WALLET --wallet.hotkey HOTKEY --chat_template MODEL_CHAT_TEMPLATE --model_dir PATH_TO_MODEL
wandb
の API キー (以下を参照) バリデータを実行する前に、重みとバイアス ( wandb
) を設定することをお勧めします。 wandb
の目的は、バリデーター全体で主要なメトリクスを追跡し、公的にアクセス可能なページにすることです。ここ。バリデーターには wandb を使用することを強くお勧めします。これにより、サブネット開発者やマイナーは、たとえばバリデーターに異常な重みが設定された場合に問題をより迅速かつ効果的に診断できるようになります。 Wandb ログはデフォルトで収集され、匿名で収集されますが、ダッシュボードで実行を検索するときにバリデーターを区別しやすくするためにアカウントを設定することをお勧めします。 WandB を実行したくない場合は、バリデーターの実行時にフラグ--wandb-key
指定しないことで実行できます。
始める前に、前述したように、まずwandb
アカウントに登録し、システムに API キーを設定する必要があります。 Ubuntu でこれを行う方法に関するステップバイステップのガイドは次のとおりです。
ログインする前に、 wandb
Python パッケージがインストールされていることを確認してください。まだインストールしていない場合は、pip を使用してインストールできます。
# Should already be installed with the repo
pip install wandb
Ubuntu マシンで WANDB API キーを構成するには、次の手順に従います。
WANDB にログインします。ターミナルで次のコマンドを実行します。
wandb login
Enter Your API Key : プロンプトが表示されたら、WANDB アカウント設定からコピーした API キーを貼り付けます。
Enter
を押します。ログインの確認: API キーが正しく設定されていることを確認するには、WANDB を使用する Python で小さなテスト スクリプトを開始します。すべてが正しく設定されていれば、スクリプトは認証エラーなしで実行されるはずです。
API キー環境変数の設定 (オプション) : 毎回ログインしたくない場合は、 ~/.bashrc
または~/.bash_profile
ファイルで API キーを環境変数として設定できます。
echo ' export WANDB_API_KEY=your_api_key ' >> ~ /.bashrc
source ~ /.bashrc
your_api_key
実際の API キーに置き換えます。この方法では、新しいターミナル セッションを開くたびに、wandb で自動的に認証されます。
まず、リポジトリのクローンを作成し、それにcd
。
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
評価を実行するには、次のコマンドを使用するだけです。
python neurons/validator.py --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME --wandb-key WANDBKEY
PM2 で自動更新バリデータを実行するには (推奨):
pm2 start --name sn11-vali-updater --interpreter python scripts/start_validator.py -- --pm2_name sn11-vali --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME [other vali flags]
このバリデータは、dippy サブネット所有者がホストするモデル検証サービスを呼び出すことに注意してください。モデル検証サービスをローカルで実行する場合は、以下の手順に従ってください。
注: 現在 (2024 年 6 月 17 日)、ローカル評価 API にいくつかの問題があります。一時的にリモート検証 API を使用することをお勧めします。
ローカルバリデーター API を使用してバリデーターを開始するには--use-local-validation-api
フラグを使用してバリデーターを開始する必要があります。さらに、モデルを検証 API にプッシュするにはモデル キューが必要です。
注: pydantic
バージョンの競合のため、Validator API は Validator とは異なる venv にインストールする必要があります。
Git Lfs がインストールされていない場合はインストールします。
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
runpod で実行している場合は、「netstat」もインストールする必要がある場合があります。
apt-get install net-tools
まず、リポジトリのクローンを作成し、それにcd
します。
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
python3 -m venv model_validation_venv
source model_validation_venv/bin/activate
model_validation_venv/bin/pip install -e . --no-deps
model_validation_venv/bin/pip install -r requirements_val_api.txt
(注: 現在、ローカル検証 API サービスの実行に課題をもたらす重大な変更があります。環境変数ADMIN_KEY
またはDIPPY_KEY
必要とするタスクはすべてここに適用されます)
cd dippy_validation_api
chmod +x start_validation_service.sh
./start_validation_service.sh
python3 test_api.py
そして、モデルのステータスが「QUEUED」であることを示す JSON が表示されるはずです。念のため同じコマンドを再度実行すると、モデルのステータスが「RUNNING」であることが表示されるはずです。
chmod +x kill_validation_api.sh
./kill_validation_api.sh
# Make a separate venv for the validator because of pydantic version conflict
python -m venv validator_venv
validator_venv/bin/pip install -e .
validator_venv/bin/python neurons/validator.py --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME --use-local-validation-api
# Run model queue to push models to validation api to be evaluated
validator_venv/bin/python neurons/model_queue.py --use-local-validation-api
小さなモデルの方が大きなモデルよりもスコアが高くなります。モデル サイズは、HF のモデル リポジトリが占めるディスク容量です。モデルの最大サイズは 72GB に制限されています。
高速なモデルは低速なモデルよりもスコアが高くなります。
データセットに対して評価すると、グラウンドトゥルースに対して同様の応答を生成するモデルのスコアが高くなります。
入力と同じ長さの出力を生成できるモデルのスコアは高くなります。
私たちのコードベースは、Nous Research と MyShell のサブネットに基づいて構築されています。
Dippy Bittensor サブネットは、MIT ライセンスに基づいてリリースされています。