프론트엔드 베타 버전을 확인해 보세요! 또한 세계 최고의 오픈 소스 역할극 LLM을 만들겠다는 우리의 비전을 알아보려면 Launch Tweet을 확인하세요.
참고: 다음 문서에서는 귀하가 기본 Bittensor 개념인 채굴자, 유효성 검사기 및 인센티브에 익숙하다고 가정합니다. 입문서가 필요한 경우 https://docs.bittensor.com/learn/bittensor-building-blocks를 확인하세요.
Dippy는 100만 명 이상의 사용자를 보유한 세계 최고의 AI 컴패니언 앱 중 하나입니다. 이 앱은 독일과 같은 국가의 App Store에서 3위를 차지했으며 Wired 잡지 와 같은 출판물에서 다루어졌으며 평균 Dippy 사용자는 앱에서 1시간 이상을 보냅니다.
Bittensor의 Dippy Roleplay 서브넷은 오픈 소스 커뮤니티의 공동 노력을 활용하여 세계 최고의 오픈 소스 역할극 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 .
광부로서 귀하는 새로운 모델 교육, 기존 모델 병합(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
용 API 키(아래 참조) 유효성 검사기를 실행하기 전에 가중치 및 편향( 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 키가 올바르게 설정되었는지 확인하려면 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에 푸시하려면 모델 대기열이 필요합니다.
참고 : Validator API는 pydantic
버전 충돌로 인해 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 라이센스에 따라 릴리스됩니다.