切換到中文 |線上:聊天和角色扮演 | QQ:QQ群
Index-1.9B系列是Index系列型號的輕量化版本,包括以下型號:
模型 | 平均分數 | 平均英語成績 | MMLU | 西瓦爾 | CMLU | 海拉斯瓦格 | 弧形C | 弧形E |
---|---|---|---|---|---|---|---|---|
谷歌傑瑪 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 |
Qwen1.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 |
迷你CPM-2.4B-SFT | 62.53 | 68.75 | 53.8 | 49.19 | 50.97 | 67.29 | 69.44 | 84.48 |
索引-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 |
Mistral-7B(報告) | / | 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 |
Falcon-40B(報告) | / | 68.18 | 55.4 | / | / | 83.6 | 54.5 | 79.2 |
評估程式碼基於 OpenCompass,並進行了相容性修改。有關詳細信息,請參閱評估資料夾。
抱臉 | 模型範圍 |
---|---|
? Index-1.9B-聊天 | Index-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
使用下列程式碼啟動 Web 伺服器。在瀏覽器中輸入存取位址後,就可以使用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 是一種只有 19 億個參數的語言模型,但它支援 32K 的上下文長度(這意味著這個極小的模型可以一次讀取超過 35,000 個單字的文件)。該模型基於精心策劃的長文本訓練資料和自建的長文本指令集,專門針對超過 32K token 的文本進行了持續預訓練和監督微調 (SFT)。該模型現已在 Hugging Face 和 ModelScope 上開源。
儘管尺寸較小(約為 GPT-4 等模型的 2%),Index-1.9B-32K 卻表現出了出色的長文本處理能力。如下圖所示,我們的1.9B尺寸型號的得分甚至超過了7B尺寸型號。以下是與 GPT-4 和 Qwen2 等模型的比較:
Index-1.9B-32K 與 GPT-4、Qwen2 等模型長上下文能力對比
在32K長度的大海撈針測試中,Index-1.9B-32K取得了優異的成績,如下圖所示。唯一的例外是(32K 長度,10% 深度)區域中的一個小黃點(91.08 分),所有其他區域在大部分綠色區域中都表現出色。
針台評估
Index-1.9B-32K的下載、使用和技術報告詳情請參閱:
Index-1.9B-32K 長上下文技術報告web_demo.py
取得 Index-1.9B-Chat 輸出的一些範例。 System Message
,扮演bilibili用戶的刻板印象! 我們同時開源了角色扮演模型和配套框架。
三三
。生成角色
即可建立成功。Role name
欄位中輸入您想要對話的角色,輸入您的query
,然後點擊submit
開始對話。詳細使用方法請參考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
翻譯及摘要(B站財務報告於2024年8月22日發布)
取決於bitsandbytes,安裝指令:
pip install bitsandbytes==0.43.0
可使用以下腳本進行int4量化,效能損失較小,進一步節省顯存佔用。
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