查看我們前端的測試版!另外,請查看我們的發布推文,了解我們創建世界上最好的開源角色扮演法學碩士的願景。
注意:以下文件假設您熟悉基本的 Bittensor 概念:礦工、驗證者和激勵措施。如果您需要入門知識,請查看 https://docs.bittensor.com/learn/bittensor-building-blocks。
Dippy 是全球領先的人工智慧伴侶應用程式之一,擁有超過 100 萬用戶。該應用程式在德國等國家的應用程式商店中排名第 3 ,並被《連線》雜誌等出版物報道,Dippy 用戶平均在該應用程式上花費 1 小時以上。
Bittensor 上的 Dippy Roleplay 子網旨在透過利用開源社群的集體努力創建世界上最好的開源角色扮演 LLM。該子網解決了孤獨這一關鍵問題,該問題影響了很大一部分人口,並與各種心理和身體健康問題有關。
目前的 SOTA 法學碩士(Claude、OpenAI 等)是為助理用例而設計的,缺乏陪伴所需的同理心品質。雖然一些公司(例如Character AI和Inflection)已經開發了閉源角色扮演法學碩士,但開源替代方案在性能上明顯落後。
考慮到創建最先進的角色扮演法學碩士的複雜性,我們計劃將流程分為三個不同的階段。
第一階段:
第二階段:
第三階段:
礦工將使用現有框架、微調技術或 MergeKit 來訓練、微調或合併模型,以創建獨特的角色扮演 LLM。這些模型將提交到共享的 Hugging Face 池。
驗證者將透過我們的協議評估和評估模型效能,並根據各種指標(同理心、簡潔性等)對提交的內容進行排名。我們將提供一套具有最先進資料集的測試和基準測試協定。
首先,克隆存儲庫並cd
到它:
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
作為一名礦工,您有責任利用您可以使用的所有方法,包括但不限於訓練新模型、合併現有模型(我們推薦 MergeKit)、微調現有模型等等,以推動角色扮演 LLM 的發展。
我們概述了第一階段的以下標準:
一旦您對 Roleplay 用例的模型效能感到滿意,您只需將其提交到 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
輸入您的 API 金鑰:出現提示時,貼上您從 WANDB 帳戶設定複製的 API 金鑰。
Enter
。驗證登入:若要驗證 API 金鑰設定是否正確,您可以在 Python 中啟動使用 WANDB 的小型測試腳本。如果一切設定正確,腳本運行時應該不會出現任何身份驗證錯誤。
設定 API 金鑰環境變數(可選) :如果您不想每次都登入,可以將 API 金鑰設定為~/.bashrc
或~/.bash_profile
檔案中的環境變數:
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
版本衝突,驗證器 API 需要安裝在與驗證器不同的 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
您應該會看到一個 json 顯示模型狀態為「QUEUED」。
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 許可證發布的。