Ознакомьтесь с бета-версией нашего Front-End! Также ознакомьтесь с нашим твитом о запуске, чтобы узнать о нашем видении создания лучшей в мире ролевой игры LLM с открытым исходным кодом.
Примечание. В следующей документации предполагается, что вы знакомы с основными концепциями Bittensor: майнерами, валидаторами и стимулами. Если вам нужен учебник, посетите https://docs.bittensor.com/learn/bittensor-building-blocks.
Dippy — одно из ведущих в мире приложений-компаньонов искусственного интеллекта с более чем 1 млн пользователей . Приложение заняло 3-е место в App Store в таких странах, как Германия, о нем писали такие издания, как журнал Wired , а средний пользователь Dippy проводит в приложении более 1 часа.
Подсеть Dippy Roleplay на Bittensor стремится создать лучшую в мире LLM для ролевых игр с открытым исходным кодом, используя коллективные усилия сообщества открытого исходного кода. Эта подсеть решает критическую проблему одиночества, которая затрагивает значительную часть населения и связана с различными проблемами психического и физического здоровья.
Текущие LLM SOTA (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 .
Как майнер, вы несете ответственность за использование всех доступных в вашем распоряжении методов, включая, помимо прочего, обучение новых моделей, объединение существующих моделей (мы рекомендуем MergeKit), тонкую настройку существующих моделей и т. д. для продвижения ролевых игр LLM.
Мы выделяем следующие критерии для Этапа 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
(см. ниже) Перед запуском валидатора рекомендуется настроить веса и смещения ( wandb
). Целью wandb
является отслеживание ключевых показателей валидаторов на общедоступной странице. здесь. Мы настоятельно рекомендуем валидаторам использовать wandb, поскольку это позволяет разработчикам подсети и майнерам более быстро и эффективно диагностировать проблемы, скажем, в случае, если валидатору были установлены аномальные веса. Журналы Wandb собираются по умолчанию анонимно, но мы рекомендуем настроить учетную запись, чтобы было легче различать валидаторов при поиске запусков на нашей информационной панели. Если вы не хотите запускать WandB, вы можете сделать это, не указывая флаг --wandb-key
при запуске валидатора.
Прежде чем начать, как упоминалось ранее, вам сначала необходимо зарегистрировать учетную запись wandb
, а затем установить ключ API в своей системе. Вот пошаговое руководство о том, как это сделать в Ubuntu:
Прежде чем войти в систему, убедитесь, что у вас установлен пакет wandb
Python. Если вы еще не установили его, вы можете сделать это с помощью pip:
# Should already be installed with the repo
pip install wandb
Чтобы настроить ключ API WANDB на вашем компьютере с Ubuntu, выполните следующие действия:
Войдите в WANDB : выполните в терминале следующую команду:
wandb login
Введите свой ключ API : при появлении запроса вставьте ключ API, который вы скопировали из настроек своей учетной записи WANDB.
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. Если вы хотите запустить службу проверки модели локально, следуйте инструкциям ниже.
Примечание . В настоящее время (17 июня 2024 г.) существуют некоторые проблемы с API локальной оценки. Мы рекомендуем временно использовать API удаленной проверки.
Для запуска валидатора с использованием локального API валидатора необходимо запустить валидатор с флагом --use-local-validation-api
. Кроме того, для отправки моделей в API проверки требуется очередь моделей.
Примечание . API-интерфейс валидатора необходимо установить в другой версии, чем валидатор, из-за конфликта версий pydantic
.
Установите 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, показывающий, что статус модели — «В ОЧЕРЕДИ». Ради здравомыслия, выполнив ту же команду еще раз, вы должны увидеть статус модели как «РАБОТАЕТ».
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. Максимальный размер модели ограничен 72 ГБ.
Более быстрая модель получит более высокий балл, чем медленная модель.
Если сравнивать с наборами данных, модель, которая генерирует аналогичную реакцию на истинные данные, получит более высокий балл.
Модель, которая может генерировать выходные данные той же длины, что и ее входные данные, получит более высокий балл.
Наша кодовая база построена на подсетях Nous Research и MyShell.
Подсеть Dippy Bittensor распространяется под лицензией MIT.