切换到中文 | ออนไลน์: แชทและเล่นตามบทบาท | QQ: กลุ่ม QQ
ซีรีส์ Index-1.9B เป็นเวอร์ชันน้ำหนักเบาของซีรีส์ Index รวมถึงรุ่นต่อไปนี้:
แบบอย่าง | คะแนนเฉลี่ย | คะแนนภาษาอังกฤษเฉลี่ย | มจล | ซีวัล | ซีเอ็มเอ็มแอลยู | HellaSwag | อาร์ค-ซี | อาร์ค-อี |
---|---|---|---|---|---|---|---|---|
กูเกิล เจมม่า 2B | 41.58 | 46.77 | 41.81 | 31.36 | 31.02 | 66.82 | 36.39 | 42.07 |
พี-2 (2.7B) | 58.89 | 72.54 | 57.61 | 31.12 | 32.05 | 70.94 | 74.51 | 87.1 |
คิวเวน1.5-1.8B | 58.96 | 59.28 | 47.05 | 59.48 | 57.12 | 58.33 | 56.82 | 74.93 |
Qwen2-1.5B(รายงาน) | 65.17 | 62.52 | 56.5 | 70.6 | 70.3 | 66.6 | 43.9 | 83.09 |
MiniCPM-2.4B-SFT | 62.53 | 68.75 | 53.8 | 49.19 | 50.97 | 67.29 | 69.44 | 84.48 |
Index-1.9B-บริสุทธิ์ | 50.61 | 52.99 | 46.24 | 46.53 | 45.19 | 62.63 | 41.97 | 61.1 |
ดัชนี-1.9B | 64.92 | 69.93 | 52.53 | 57.01 | 52.79 | 80.69 | 65.15 | 81.35 |
ลามะ2-7B | 50.79 | 60.31 | 44.32 | 32.42 | 31.11 | 76 | 46.3 | 74.6 |
มิสทรัล-7บี (รายงาน) | - | 69.23 | 60.1 | - | - | 81.3 | 55.5 | 80 |
ไป๋ชวน2-7B | 54.53 | 53.51 | 54.64 | 56.19 | 56.95 | 25.04 | 57.25 | 77.12 |
ลามะ2-13B | 57.51 | 66.61 | 55.78 | 39.93 | 38.7 | 76.22 | 58.88 | 75.56 |
ไป๋ชวน2-13B | 68.90 | 71.69 | 59.63 | 59.21 | 61.27 | 72.61 | 70.04 | 84.48 |
MPT-30B (รายงาน) | - | 63.48 | 46.9 | - | - | 79.9 | 50.6 | 76.5 |
ฟอลคอน-40บี (รายงาน) | - | 68.18 | 55.4 | - | - | 83.6 | 54.5 | 79.2 |
รหัสการประเมินจะขึ้นอยู่กับ OpenCompass พร้อมการแก้ไขความเข้ากันได้ ดูโฟลเดอร์ประเมินเพื่อดูรายละเอียด
กอดใบหน้า | โมเดลสโคป |
---|---|
- ดัชนี-1.9B-แชท | ดัชนี-1.9B-แชท |
- Index-1.9B-ตัวละคร (สวมบทบาท) | Index-1.9B-ตัวละคร (สวมบทบาท) |
- ดัชนี-1.9B-ฐาน | ดัชนี-1.9B-ฐาน |
- Index-1.9B-เบส-บริสุทธิ์ | Index-1.9B-เบส-บริสุทธิ์ |
- Index-1.9B-32K (บริบทยาว 32K) | Index-1.9B-32K (บริบทยาว 32K) |
Index-1.9B-32K
สามารถเปิดได้โดยใช้เครื่องมือนี้เท่านั้น: demo/cli_long_text_demo.py
!!!git clone https://github.com/bilibili/Index-1.9B
cd Index-1.9B
pip install -r requirements.txt
คุณสามารถโหลดโมเดล Index-1.9B-Chat สำหรับการสนทนาได้โดยใช้โค้ดต่อไปนี้:
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 )
ขึ้นอยู่กับ Gradio ติดตั้งด้วย:
pip install gradio==4.29.0
เริ่มต้นเว็บเซิร์ฟเวอร์ด้วยรหัสต่อไปนี้ หลังจากป้อนที่อยู่การเข้าถึงในเบราว์เซอร์ คุณสามารถใช้โมเดล Index-1.9B-Chat สำหรับการสนทนาได้:
python demo/web_demo.py --port= ' port ' --model_path= ' /path/to/model/ '
หมายเหตุ: Index-1.9B-32K
สามารถเปิดได้โดยใช้เครื่องมือนี้เท่านั้น: demo/cli_long_text_demo.py
!!!
เริ่มการสาธิตเทอร์มินัลด้วยโค้ดต่อไปนี้เพื่อใช้โมเดล Index-1.9B-Chat สำหรับการสนทนา:
python demo/cli_demo.py --model_path= ' /path/to/model/ '
ขึ้นอยู่กับ Flask ติดตั้งด้วย:
pip install flask==2.2.5
เริ่ม Flask API ด้วยโค้ดต่อไปนี้:
python demo/openai_demo.py --model_path= ' /path/to/model/ '
คุณสามารถดำเนินการโต้ตอบผ่านบรรทัดคำสั่ง:
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 เป็นโมเดลภาษาที่มีพารามิเตอร์เพียง 1.9 พันล้านพารามิเตอร์ แต่รองรับความยาวบริบท 32K (หมายความว่าโมเดลขนาดเล็กมากนี้สามารถอ่านเอกสารได้มากกว่า 35,000 คำในครั้งเดียว) โมเดลดังกล่าวได้ผ่าน Continue Pre-Training และ Supervised Fine-Tuning (SFT) โดยเฉพาะสำหรับข้อความที่มีความยาวมากกว่าโทเค็น 32K โดยอิงตามข้อมูลการฝึกด้วยข้อความยาวที่รวบรวมไว้อย่างรอบคอบและชุดคำสั่งข้อความยาวที่สร้างขึ้นเอง ขณะนี้โมเดลนี้เป็นโอเพ่นซอร์สทั้งบน Hugging Face และ ModelScope
แม้จะมีขนาดที่เล็ก (ประมาณ 2% ของรุ่นเช่น GPT-4) แต่ Index-1.9B-32K ก็แสดงให้เห็นถึงความสามารถในการประมวลผลข้อความยาวที่ยอดเยี่ยม ดังแสดงในรูปด้านล่าง คะแนนของรุ่นขนาด 1.9B ของเรายังสูงกว่ารุ่นขนาด 7B ด้วยซ้ำ ด้านล่างนี้เป็นการเปรียบเทียบกับรุ่นอย่าง GPT-4 และ Qwen2:
การเปรียบเทียบ Index-1.9B-32K กับ GPT-4, Qwen2 และรุ่นอื่นๆ ในความสามารถแบบ Long Context
ในการทดสอบโดยใช้เข็มในกองหญ้าที่มีความยาว 32K นั้น Index-1.9B-32K ได้รับผลลัพธ์ที่ยอดเยี่ยม ดังแสดงในรูปด้านล่าง ข้อยกเว้นเพียงอย่างเดียวคือจุดสีเหลืองเล็กๆ (91.08 จุด) ในพื้นที่ (ความยาว 32K ความลึก 10%) โดยพื้นที่อื่นๆ ทั้งหมดมีประสิทธิภาพดีเยี่ยมในโซนสีเขียวเป็นส่วนใหญ่
การประเมิน NeedleBench
สำหรับรายละเอียดเกี่ยวกับการดาวน์โหลด การใช้งาน และรายงานทางเทคนิคสำหรับ Index-1.9B-32K โปรดดู:
รายงานทางเทคนิคบริบทแบบยาว Index-1.9B-32Kweb_demo.py
เพื่อรับเอาต์พุต Index-1.9B-Chat System Message
เพื่อสวมบทบาทเป็นผู้ใช้ bilibili! เราได้เปิดซอร์สโมเดลการสวมบทบาทและกรอบงานประกอบไปพร้อมๆ กัน
三三
ในตัว生成角色
เพื่อสร้างสำเร็จRole name
ป้อน query
ของคุณ แล้วคลิก submit
เพื่อเริ่มการสนทนาสำหรับการใช้งานโดยละเอียด โปรดดูที่โฟลเดอร์โรลเพลย์
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
การแปลและสรุป (รายงานทางการเงินของ Bilibili ที่เผยแพร่เมื่อ 2024.8.22)
ขึ้นอยู่กับบิตแซนด์ไบต์ คำสั่งการติดตั้ง:
pip install bitsandbytes==0.43.0
คุณสามารถใช้สคริปต์ต่อไปนี้เพื่อดำเนินการ int4 quantization ซึ่งมีการสูญเสียประสิทธิภาพน้อยกว่าและช่วยประหยัดการใช้หน่วยความจำวิดีโอเพิ่มเติม
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 )
ทำตามขั้นตอนในบทช่วยสอนการปรับแต่งอย่างละเอียดเพื่อปรับแต่งโมเดล Index-1.9B-Chat อย่างรวดเร็ว ทดลองใช้และปรับแต่งโมเดล Index สุดพิเศษของคุณ!
Index-1.9B อาจสร้างเนื้อหาที่ไม่ถูกต้อง อคติ หรือน่ารังเกียจในบางสถานการณ์ โมเดลไม่สามารถเข้าใจ แสดงความคิดเห็นส่วนตัว หรือตัดสินคุณค่าได้ ผลลัพธ์ไม่ได้แสดงถึงมุมมองและตำแหน่งของผู้พัฒนาแบบจำลอง ดังนั้นโปรดใช้เนื้อหาที่สร้างขึ้นด้วยความระมัดระวัง ผู้ใช้ควรประเมินและตรวจสอบเนื้อหาที่สร้างโดยโมเดลอย่างอิสระ และไม่ควรเผยแพร่เนื้อหาที่เป็นอันตราย นักพัฒนาควรทำการทดสอบความปลอดภัยและปรับแต่งตามแอปพลิเคชันเฉพาะก่อนที่จะปรับใช้แอปพลิเคชันที่เกี่ยวข้อง
เราไม่แนะนำอย่างยิ่งให้ไม่ใช้โมเดลเหล่านี้เพื่อสร้างหรือเผยแพร่ข้อมูลที่เป็นอันตราย หรือมีส่วนร่วมในกิจกรรมที่อาจเป็นอันตรายต่อความมั่นคงของสาธารณะ ระดับชาติ หรือทางสังคม หรือละเมิดกฎระเบียบ ห้ามใช้โมเดลสำหรับบริการอินเทอร์เน็ตโดยไม่มีการตรวจสอบและยื่นเรื่องความปลอดภัยที่เหมาะสม เราได้ใช้ความพยายามทุกวิถีทางเพื่อให้มั่นใจว่าข้อมูลการฝึกอบรมเป็นไปตามข้อกำหนด แต่เนื่องจากความซับซ้อนของแบบจำลองและข้อมูล ปัญหาที่ไม่คาดคิดจึงอาจยังคงมีอยู่ เราจะไม่รับผิดชอบต่อปัญหาใดๆ ที่เกิดขึ้นจากการใช้แบบจำลองเหล่านี้ ไม่ว่าจะเกี่ยวข้องกับความปลอดภัยของข้อมูล ความเสี่ยงต่อความคิดเห็นของสาธารณชน หรือความเสี่ยงและปัญหาใดๆ ที่เกิดจากความเข้าใจผิด การใช้ในทางที่ผิด การเผยแพร่ หรือการใช้แบบจำลองที่ไม่เป็นไปตามข้อกำหนด
การใช้ซอร์สโค้ดจากที่เก็บนี้จำเป็นต้องปฏิบัติตาม Apache-2.0 การใช้ตุ้มน้ำหนักรุ่น Index-1.9B จำเป็นต้องปฏิบัติตาม INDEX_MODEL_LICENSE
ตุ้มน้ำหนักรุ่น Index-1.9B เปิดกว้าง สำหรับการวิจัยเชิงวิชาการและสนับสนุน การใช้งานเชิงพาณิชย์ฟรี
หากคุณคิดว่างานของเรามีประโยชน์สำหรับคุณ โปรดอย่าลังเลที่จะอ้างอิง!
@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
ตัวเอง llm: https://github.com/datawhalechina/self-llm/blob/master/bilibili_Index-1.9B/04-Index-1.9B-Chat%20Lora%20微调.md