切换到中文 | Online: Obrolan dan Permainan Peran | QQ: Grup QQ
Seri Index-1.9B adalah versi ringan dari model seri Index, termasuk model berikut:
Model | Skor rata-rata | Skor bahasa Inggris rata-rata | MMLU | CEVAL | CMMLU | HellaSwag | Busur-C | Busur-E |
---|---|---|---|---|---|---|---|---|
Google Gemma 2B | 41.58 | 46.77 | 41.81 | 31.36 | 31.02 | 66.82 | 36.39 | 42.07 |
Phi-2 (2.7B) | 58.89 | 72.54 | 57.61 | 31.12 | 32.05 | 70,94 | 74.51 | 87.1 |
Qwen1.5-1.8B | 58.96 | 59.28 | 47.05 | 59.48 | 57.12 | 58.33 | 56.82 | 74,93 |
Qwen2-1.5B(laporan) | 65.17 | 62.52 | 56.5 | 70.6 | 70.3 | 66.6 | 43.9 | 83.09 |
BPS Mini-2,4B-SFT | 62.53 | 68,75 | 53.8 | 49.19 | 50,97 | 67.29 | 69.44 | 84.48 |
Indeks-1.9B-Murni | 50.61 | 52,99 | 46.24 | 46.53 | 45.19 | 62.63 | 41.97 | 61.1 |
Indeks-1.9B | 64,92 | 69,93 | 52.53 | 57.01 | 52.79 | 80,69 | 65.15 | 81.35 |
Llama2-7B | 50,79 | 60.31 | 44.32 | 32.42 | 31.11 | 76 | 46.3 | 74.6 |
Mistral-7B (laporan) | / | 69.23 | 60.1 | / | / | 81.3 | 55.5 | 80 |
Baichuan2-7B | 54.53 | 53.51 | 54.64 | 56.19 | 56,95 | 25.04 | 57.25 | 77.12 |
Llama2-13B | 57.51 | 66.61 | 55.78 | 39.93 | 38.7 | 76.22 | 58.88 | 75.56 |
Baichuan2-13B | 68,90 | 71.69 | 59.63 | 59.21 | 61.27 | 72.61 | 70.04 | 84.48 |
MPT-30B (laporan) | / | 63.48 | 46.9 | / | / | 79.9 | 50.6 | 76.5 |
Falcon-40B (laporan) | / | 68.18 | 55.4 | / | / | 83.6 | 54.5 | 79.2 |
Kode evaluasi didasarkan pada OpenCompass dengan modifikasi kompatibilitas. Lihat folder evaluasi untuk detailnya.
Memeluk Wajah | Lingkup Model |
---|---|
? Indeks-1.9B-Obrolan | Indeks-1.9B-Obrolan |
? Indeks-1.9B-Karakter (Bermain Peran) | Indeks-1.9B-Karakter (Bermain Peran) |
? Indeks-1.9B-Basis | Indeks-1.9B-Basis |
? Indeks-1.9B-Basis-Murni | Indeks-1.9B-Basis-Murni |
? Indeks-1.9B-32K (Konteks Panjang 32K) | Indeks-1.9B-32K (Konteks Panjang 32K) |
Index-1.9B-32K
hanya dapat diluncurkan menggunakan alat ini: demo/cli_long_text_demo.py
!!!git clone https://github.com/bilibili/Index-1.9B
cd Index-1.9B
pip install -r requirements.txt
Anda dapat memuat model Index-1.9B-Chat untuk dialog menggunakan kode berikut:
import argparse
from transformers import AutoTokenizer , pipeline
# Attention! The directory must not contain "." and can be replaced with "_".
parser = argparse . ArgumentParser ()
parser . add_argument ( '--model_path' , default = "./IndexTeam/Index-1.9B-Chat/" , type = str , help = "" )
parser . add_argument ( '--device' , default = "cpu" , type = str , help = "" ) # also could be "cuda" or "mps" for Apple silicon
args = parser . parse_args ()
tokenizer = AutoTokenizer . from_pretrained ( args . model_path , trust_remote_code = True )
generator = pipeline ( "text-generation" ,
model = args . model_path ,
tokenizer = tokenizer , trust_remote_code = True ,
device = args . device )
system_message = "你是由哔哩哔哩自主研发的大语言模型,名为“Index”。你能够根据用户传入的信息,帮助用户完成指定的任务,并生成恰当的、符合要求的回复。"
query = "续写 天不生我金坷垃"
model_input = []
model_input . append ({ "role" : "system" , "content" : system_message })
model_input . append ({ "role" : "user" , "content" : query })
model_output = generator ( model_input , max_new_tokens = 300 , top_k = 5 , top_p = 0.8 , temperature = 0.3 , repetition_penalty = 1.1 , do_sample = True )
print ( 'User:' , query )
print ( 'Model:' , model_output )
Tergantung pada Gradio, instal dengan:
pip install gradio==4.29.0
Mulai server web dengan kode berikut. Setelah memasukkan alamat akses di browser, Anda dapat menggunakan model Index-1.9B-Chat untuk berdialog:
python demo/web_demo.py --port= ' port ' --model_path= ' /path/to/model/ '
Catatan: Index-1.9B-32K
hanya dapat diluncurkan menggunakan alat ini: demo/cli_long_text_demo.py
!!!
Mulai demo terminal dengan kode berikut untuk menggunakan model Index-1.9B-Chat untuk dialog:
python demo/cli_demo.py --model_path= ' /path/to/model/ '
Tergantung pada Flask, instal dengan:
pip install flask==2.2.5
Mulai Flask API dengan kode berikut:
python demo/openai_demo.py --model_path= ' /path/to/model/ '
Anda dapat melakukan dialog melalui baris perintah:
curl http://127.0.0.1:8010/v1/chat/completions
-H " Content-Type: application/json "
-d ' {
"messages": [
{"role": "system", "content": "你是由哔哩哔哩自主研发的大语言模型,名为“Index”。你能够根据用户传入的信息,帮助用户完成指定的任务,并生成恰当的、符合要求的回复。"},
{"role": "user", "content": "花儿为什么这么红?"}
]
} '
Index-1.9B-32K adalah model bahasa dengan hanya 1,9 miliar parameter, namun mendukung panjang konteks 32K (artinya model yang sangat kecil ini dapat membaca dokumen lebih dari 35.000 kata sekaligus). Model ini telah menjalani Pra-Pelatihan Lanjutan dan Penyempurnaan yang Diawasi (SFT) khusus untuk teks yang lebih panjang dari 32 ribu token, berdasarkan data pelatihan teks panjang yang dikurasi dengan cermat dan set instruksi teks panjang yang dibuat sendiri. Model ini sekarang menjadi sumber terbuka di Hugging Face dan ModelScope.
Meskipun ukurannya kecil (sekitar 2% model seperti GPT-4), Index-1.9B-32K menunjukkan kemampuan pemrosesan teks panjang yang luar biasa. Seperti yang ditunjukkan pada gambar di bawah, skor model berukuran 1,9B kami bahkan melampaui skor model berukuran 7B. Di bawah ini perbandingan dengan model seperti GPT-4 dan Qwen2:
Perbandingan Index-1.9B-32K dengan GPT-4, Qwen2, dan model lain dalam kemampuan Long Context
Dalam pengujian jarum di tumpukan jerami sepanjang 32K, Index-1.9B-32K mencapai hasil yang sangat baik, seperti yang ditunjukkan pada gambar di bawah. Satu-satunya pengecualian adalah titik kuning kecil (91,08 poin) di wilayah (panjang 32K, kedalaman 10%), dengan semua wilayah lainnya berkinerja sangat baik di sebagian besar zona hijau.
Evaluasi NeedleBench
Untuk detail tentang pengunduhan, penggunaan, dan laporan teknis untuk Index-1.9B-32K, lihat:
Laporan Teknis Konteks Panjang Indeks-1.9B-32Kweb_demo.py
untuk mendapatkan keluaran Index-1.9B-Chat. System Message
untuk memainkan peran stereotip pengguna bilibili! Kami secara bersamaan telah membuat model permainan peran dan kerangka kerja yang menyertainya menjadi sumber terbuka.
三三
bawaan.生成角色
untuk berhasil membuatnya.Role name
, masukkan query
Anda, dan klik submit
untuk memulai percakapan.Untuk penggunaan detailnya, silakan merujuk ke folder roleplay.
cd demo/
CUDA_VISIBLE_DEVICES=0 python cli_long_text_demo.py --model_path ' /path/to/model/ ' --input_file_path data/user_long_text.txt
Penerjemahan dan Ringkasan (Laporan keuangan Bilibili dirilis pada 22.8.2024)
Tergantung pada bitsandbytes, perintah instalasi:
pip install bitsandbytes==0.43.0
Anda dapat menggunakan skrip berikut untuk melakukan kuantisasi int4, yang mengurangi kehilangan kinerja dan semakin menghemat penggunaan memori video.
import torch
import argparse
from transformers import (
AutoModelForCausalLM ,
AutoTokenizer ,
TextIteratorStreamer ,
GenerationConfig ,
BitsAndBytesConfig
)
parser = argparse . ArgumentParser ()
parser . add_argument ( '--model_path' , default = "" , type = str , help = "" )
parser . add_argument ( '--save_model_path' , default = "" , type = str , help = "" )
args = parser . parse_args ()
tokenizer = AutoTokenizer . from_pretrained ( args . model_path , trust_remote_code = True )
quantization_config = BitsAndBytesConfig (
load_in_4bit = True ,
bnb_4bit_compute_dtype = torch . float16 ,
bnb_4bit_use_double_quant = True ,
bnb_4bit_quant_type = "nf4" ,
llm_int8_threshold = 6.0 ,
llm_int8_has_fp16_weight = False ,
)
model = AutoModelForCausalLM . from_pretrained ( args . model_path ,
device_map = "auto" ,
torch_dtype = torch . float16 ,
quantization_config = quantization_config ,
trust_remote_code = True )
model . save_pretrained ( args . save_model_path )
tokenizer . save_pretrained ( args . save_model_path )
Ikuti langkah-langkah dalam tutorial penyesuaian untuk menyempurnakan model Index-1.9B-Chat dengan cepat. Cobalah dan sesuaikan model Indeks eksklusif Anda!
Indeks-1.9B mungkin menghasilkan konten yang tidak akurat, bias, atau tidak menyenangkan dalam situasi tertentu. Model tersebut tidak dapat memahami, mengungkapkan pendapat pribadi, atau membuat penilaian nilai. Keluarannya tidak mewakili pandangan dan posisi pengembang model. Oleh karena itu, harap gunakan konten yang dihasilkan dengan hati-hati. Pengguna harus mengevaluasi dan memverifikasi secara independen konten yang dihasilkan oleh model dan tidak boleh menyebarkan konten berbahaya. Pengembang harus melakukan uji keamanan dan penyesuaian sesuai dengan aplikasi spesifik sebelum menerapkan aplikasi terkait.
Kami sangat menyarankan untuk tidak menggunakan model ini untuk membuat atau menyebarkan informasi berbahaya atau terlibat dalam aktivitas yang dapat merugikan jaminan publik, nasional, atau sosial atau melanggar peraturan. Jangan gunakan model ini untuk layanan internet tanpa tinjauan dan pengarsipan keamanan yang tepat. Kami telah melakukan segala upaya untuk memastikan kepatuhan data pelatihan, namun karena kompleksitas model dan data, masalah yang tidak terduga mungkin masih ada. Kami tidak bertanggung jawab atas masalah apa pun yang timbul dari penggunaan model ini, baik terkait dengan keamanan data, risiko opini publik, atau risiko dan permasalahan apa pun yang disebabkan oleh kesalahpahaman, penyalahgunaan, penyebaran, atau penggunaan model yang tidak sesuai.
Menggunakan kode sumber dari repositori ini memerlukan kepatuhan terhadap Apache-2.0. Penggunaan bobot model Indeks-1.9B memerlukan kepatuhan terhadap INDEX_MODEL_LICENSE.
Bobot model Index-1.9B sepenuhnya terbuka untuk penelitian akademis dan mendukung penggunaan komersial gratis .
Jika menurut Anda karya kami bermanfaat bagi Anda, silakan mengutipnya!
@article{Index,
title={Index1.9B Technical Report},
year={2024}
}
libllm: https://github.com/ling0322/libllm/blob/main/examples/python/run_bilibili_index.py
chatllm.cpp:https://github.com/foldl/chatllm.cpp/blob/master/docs/rag.md#role-play-with-rag
ollama:https://ollama.com/milkey/bilibili-index
mandiri: https://github.com/datawhalechina/self-llm/blob/master/bilibili_Index-1.9B/04-Index-1.9B-Chat%20Lora%20微调.md