Lihat versi beta Front-End kami! Selain itu, silakan periksa Tweet Peluncuran kami untuk mengetahui visi kami dalam menciptakan LLM roleplay sumber terbuka terbaik di dunia.
Catatan: Dokumentasi berikut mengasumsikan Anda sudah familiar dengan konsep dasar Bittensor: Penambang, Validator, dan insentif. Jika Anda memerlukan primer, silakan lihat https://docs.bittensor.com/learn/bittensor-building-blocks.
Dippy adalah salah satu aplikasi pendamping AI terkemuka di dunia dengan lebih dari 1 juta pengguna . Aplikasi ini menduduki peringkat #3 di App Store di negara-negara seperti Jerman, diliput oleh publikasi seperti majalah Wired dan rata-rata pengguna Dippy menghabiskan 1+ jam di aplikasi tersebut.
Subnet Dippy Roleplay di Bittensor bertujuan untuk menciptakan LLM roleplay sumber terbuka terbaik di dunia dengan memanfaatkan upaya kolektif komunitas sumber terbuka. Subnet ini mengatasi masalah kritis kesepian, yang mempengaruhi sebagian besar populasi dan terkait dengan berbagai masalah kesehatan mental dan fisik.
LLM SOTA saat ini (Claude, OpenAI, dll.) dirancang untuk kasus penggunaan asisten dan tidak memiliki kualitas empati yang diperlukan untuk persahabatan. Meskipun beberapa perusahaan (seperti Character AI dan Inflection) telah mengembangkan LLM roleplay sumber tertutup, alternatif sumber terbuka jauh tertinggal dalam hal kinerja.
Mengingat kompleksitas pembuatan LLM roleplay yang canggih, kami berencana untuk membagi proses menjadi 3 fase berbeda.
Fase 1:
Fase 2:
Fase 3:
Penambang akan menggunakan kerangka kerja yang ada, teknik penyesuaian, atau MergeKit, untuk melatih, menyempurnakan, atau menggabungkan model guna membuat permainan peran LLM yang unik. Model-model ini akan dikirimkan ke kumpulan Hugging Face bersama.
Validator akan mengevaluasi dan menilai kinerja model melalui protokol kami dan memberi peringkat pada kiriman berdasarkan berbagai metrik (empati, keringkasan, dll). Kami akan menyediakan serangkaian protokol pengujian dan benchmarking dengan kumpulan data canggih.
Untuk memulai, clone repositori dan cd
ke dalamnya:
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
Sebagai penambang, Anda bertanggung jawab untuk memanfaatkan semua metode yang tersedia, termasuk namun tidak terbatas pada melatih model baru, menggabungkan model yang sudah ada (kami merekomendasikan MergeKit), menyempurnakan model yang sudah ada, dan sebagainya untuk mendorong LLM roleplay ke depan.
Kami menguraikan kriteria berikut untuk Fase 1:
Setelah Anda puas dengan performa model untuk kasus penggunaan Roleplay, Anda cukup mengirimkannya ke Hugging Face ? lalu gunakan perintah berikut:
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
(lihat di bawah) Sebelum menjalankan validator Anda, disarankan untuk mengatur Bobot & Bias ( wandb
). Tujuan dari wandb
adalah untuk melacak metrik utama di seluruh validator hingga halaman yang dapat diakses publik. Di Sini. Kami sangat menyarankan validator menggunakan tongkat sihir, karena ini memungkinkan pengembang subnet dan penambang untuk mendiagnosis masalah dengan lebih cepat dan efektif, misalnya, jika validator menetapkan bobot yang tidak normal. Log Wandb dikumpulkan secara default, dan dilakukan secara anonim, namun kami menyarankan untuk menyiapkan akun agar lebih mudah membedakan validator saat mencari proses di dasbor kami. Jika Anda tidak ingin menjalankan WandB, Anda dapat melakukannya dengan tidak memberikan tanda --wandb-key
saat menjalankan validator Anda.
Sebelum memulai, seperti yang disebutkan sebelumnya, Anda harus mendaftar akun wandb
terlebih dahulu, lalu menyetel kunci API di sistem Anda. Berikut panduan langkah demi langkah tentang cara melakukan ini di Ubuntu:
Sebelum login, pastikan Anda sudah menginstal paket wandb
Python. Jika Anda belum menginstalnya, Anda dapat melakukannya menggunakan pip:
# Should already be installed with the repo
pip install wandb
Untuk mengonfigurasi kunci API WANDB Anda di mesin Ubuntu Anda, ikuti langkah-langkah berikut:
Masuk ke WANDB : Jalankan perintah berikut di terminal:
wandb login
Masukkan Kunci API Anda : Saat diminta, tempelkan kunci API yang Anda salin dari pengaturan akun WANDB Anda.
Enter
.Memverifikasi Login : Untuk memverifikasi bahwa kunci API telah disetel dengan benar, Anda dapat memulai skrip pengujian kecil dengan Python yang menggunakan WANDB. Jika semuanya sudah diatur dengan benar, skrip akan berjalan tanpa kesalahan otentikasi apa pun.
Menyetel Variabel Lingkungan Kunci API (Opsional) : Jika Anda memilih untuk tidak masuk setiap saat, Anda dapat menyetel kunci API Anda sebagai variabel lingkungan di file ~/.bashrc
atau ~/.bash_profile
Anda:
echo ' export WANDB_API_KEY=your_api_key ' >> ~ /.bashrc
source ~ /.bashrc
Ganti your_api_key
dengan kunci API yang sebenarnya. Metode ini secara otomatis mengautentikasi Anda dengan tongkat sihir setiap kali Anda membuka sesi terminal baru.
Untuk memulai, clone repositori dan cd
ke dalamnya:
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
Untuk menjalankan evaluasi, cukup gunakan perintah berikut:
python neurons/validator.py --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME --wandb-key WANDBKEY
Untuk menjalankan validator pembaruan otomatis dengan PM2 (disarankan):
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]
Harap dicatat bahwa validator ini akan memanggil layanan validasi model yang dihosting oleh pemilik subnet dippy. Jika Anda ingin menjalankan layanan validasi model secara lokal, ikuti petunjuk di bawah.
Catatan : Saat ini (17 Juni 2024) ada beberapa masalah dengan api evaluasi lokal. Kami merekomendasikan penggunaan api validasi jarak jauh untuk sementara.
Memulai validator menggunakan API validator lokal Anda memerlukan validator awal dengan tanda --use-local-validation-api
. Selain itu, antrean model diperlukan untuk mendorong model ke api validasi.
Catatan : API Validator perlu dipasang di venv yang berbeda dari validator karena konflik versi pydantic
.
Instal Git Lfs jika belum diinstal.
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
Jika Anda menjalankan runpod, Anda mungkin juga perlu menginstal 'netstat'.
apt-get install net-tools
Untuk memulai, clone repositori dan cd
ke dalamnya:
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
(Catatan: saat ini ada perubahan yang dapat menyebabkan gangguan dalam menjalankan layanan API validasi lokal. Tugas apa pun yang memerlukan env vars ADMIN_KEY
atau DIPPY_KEY
berlaku di sini)
cd dippy_validation_api
chmod +x start_validation_service.sh
./start_validation_service.sh
python3 test_api.py
Dan Anda akan melihat json yang menunjukkan bahwa status model adalah "ANTRIAN" Menjalankan perintah yang sama lagi demi kewarasan, Anda akan melihat status model sebagai "BERJALAN".
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
Model yang lebih kecil akan mendapat skor lebih tinggi daripada model yang besar. Ukuran model adalah ruang disk yang ditempati oleh repo model dari HF. Ukuran model maksimal dibatasi hingga 72GB.
Model yang lebih cepat akan mendapat skor lebih tinggi daripada model yang lambat.
Jika dievaluasi berdasarkan kumpulan data, model yang menghasilkan respons serupa dengan kebenaran dasar akan mendapat skor lebih tinggi.
Model yang dapat menghasilkan keluaran dengan panjang yang sama dengan masukannya akan mendapat skor lebih tinggi.
Basis kode kami dibangun berdasarkan Subnet Nous Research dan MyShell.
Subnet Dippy Bittensor dirilis di bawah Lisensi MIT.