切换到中文 | Online: Chat und Rollenspiele | QQ: QQ-Gruppe
Die Index-1.9B-Serie ist eine leichte Version der Index-Serienmodelle, einschließlich der folgenden Modelle:
Modell | Durchschnittliche Punktzahl | Durchschnittliche Englischnote | MMLU | CEVAL | CMMLU | HellaSwag | Arc-C | Arc-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 (Bericht) | 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-Rein | 50,61 | 52,99 | 46.24 | 46,53 | 45.19 | 62,63 | 41,97 | 61.1 |
Index-1,9B | 64,92 | 69,93 | 52,53 | 57.01 | 52,79 | 80,69 | 65,15 | 81,35 |
Lama2-7B | 50,79 | 60.31 | 44,32 | 32,42 | 31.11 | 76 | 46.3 | 74,6 |
Mistral-7B (Bericht) | / | 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 |
Lama2-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 (Bericht) | / | 63,48 | 46.9 | / | / | 79,9 | 50.6 | 76,5 |
Falcon-40B (Bericht) | / | 68,18 | 55.4 | / | / | 83,6 | 54,5 | 79,2 |
Der Evaluierungscode basiert auf OpenCompass mit Kompatibilitätsänderungen. Weitere Informationen finden Sie im Evaluierungsordner.
Umarmendes Gesicht | ModelScope |
---|---|
? Index-1.9B-Chat | Index-1.9B-Chat |
? Index-1.9B-Charakter (Rollenspiel) | Index-1.9B-Charakter (Rollenspiel) |
? Index-1,9B-Basis | Index-1,9B-Basis |
? Index-1.9B-Base-Pure | Index-1.9B-Base-Pure |
? Index-1.9B-32K (32K langer Kontext) | Index-1.9B-32K (32K langer Kontext) |
Index-1.9B-32K
kann nur mit diesem Tool gestartet werden: demo/cli_long_text_demo.py
!!!git clone https://github.com/bilibili/Index-1.9B
cd Index-1.9B
pip install -r requirements.txt
Sie können das Index-1.9B-Chat-Modell für den Dialog mit dem folgenden Code laden:
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 )
Abhängig von Gradio, installieren Sie mit:
pip install gradio==4.29.0
Starten Sie einen Webserver mit dem folgenden Code. Nach Eingabe der Zugangsadresse im Browser können Sie für den Dialog das Index-1.9B-Chat-Modell nutzen:
python demo/web_demo.py --port= ' port ' --model_path= ' /path/to/model/ '
Hinweis: Index-1.9B-32K
kann nur mit diesem Tool gestartet werden: demo/cli_long_text_demo.py
!!!
Starten Sie eine Terminal-Demo mit dem folgenden Code, um das Index-1.9B-Chat-Modell für den Dialog zu verwenden:
python demo/cli_demo.py --model_path= ' /path/to/model/ '
Abhängig von Flask, installieren mit:
pip install flask==2.2.5
Starten Sie eine Flask-API mit dem folgenden Code:
python demo/openai_demo.py --model_path= ' /path/to/model/ '
Sie können Dialoge über die Befehlszeile führen:
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 ist ein Sprachmodell mit nur 1,9 Milliarden Parametern, unterstützt jedoch eine Kontextlänge von 32 KB (was bedeutet, dass dieses extrem kleine Modell Dokumente mit über 35.000 Wörtern auf einmal lesen kann). Das Modell wurde speziell für Texte mit mehr als 32K-Tokens einem Continue Pre-Training und Supervised Fine-Tuning (SFT) unterzogen, basierend auf sorgfältig kuratierten Langtext-Trainingsdaten und selbst erstellten Langtext-Befehlssätzen. Das Modell ist jetzt sowohl auf Hugging Face als auch auf ModelScope Open Source.
Trotz seiner geringen Größe (etwa 2 % der Modelle wie GPT-4) weist Index-1.9B-32K hervorragende Fähigkeiten zur Langtextverarbeitung auf. Wie in der Abbildung unten gezeigt, übertrifft die Punktzahl unseres 1,9B-Modells sogar die des 7B-Modells. Nachfolgend finden Sie einen Vergleich mit Modellen wie GPT-4 und Qwen2:
Vergleich von Index-1.9B-32K mit GPT-4, Qwen2 und anderen Modellen in Long-Context-Fähigkeit
In einem 32K-Längen-Nadel-im-Heuhaufen-Test erzielte Index-1.9B-32K hervorragende Ergebnisse, wie in der Abbildung unten dargestellt. Die einzige Ausnahme war ein kleiner gelber Fleck (91,08 Punkte) im Bereich (32K Länge, 10% Tiefe), während alle anderen Bereiche in überwiegend grünen Zonen hervorragend abschnitten.
NeedleBench-Bewertung
Einzelheiten zum Herunterladen, zur Verwendung und zum technischen Bericht für Index-1.9B-32K finden Sie unter:
Index-1.9B-32K Technischer Langkontextberichtweb_demo.py
um Index-1.9B-Chat-Ausgaben zu erhalten. System Message
, um ein Stereotyp des Bilibili-Benutzers nachzuspielen! Wir haben das Rollenspielmodell und das dazugehörige Framework gleichzeitig als Open-Source-Lösung bereitgestellt.
三三
eingebaut.生成角色
um es erfolgreich zu erstellen.Role name
ein, geben Sie Ihre query
ein und klicken Sie auf submit
, um die Konversation zu starten.Einzelheiten zur Verwendung finden Sie im Rollenspielordner.
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
Übersetzung und Zusammenfassung (Bilibili-Finanzbericht veröffentlicht am 22.08.2024)
Hängt von Bitsandbytes ab, Installationsbefehl:
pip install bitsandbytes==0.43.0
Sie können das folgende Skript verwenden, um eine int4-Quantisierung durchzuführen, die weniger Leistungsverluste mit sich bringt und die Nutzung des Videospeichers weiter senkt.
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 )
Befolgen Sie die Schritte im Tutorial zur Feinabstimmung, um das Index-1.9B-Chat-Modell schnell zu optimieren. Probieren Sie es aus und passen Sie Ihr exklusives Index-Modell individuell an!
Index-1.9B kann in bestimmten Situationen ungenaue, voreingenommene oder anderweitig anstößige Inhalte generieren. Das Modell kann weder verstehen noch persönliche Meinungen äußern oder Werturteile fällen. Seine Ausgaben geben nicht die Ansichten und Positionen der Modellentwickler wieder. Bitte verwenden Sie die generierten Inhalte daher mit Vorsicht. Nutzer sollten die durch das Modell generierten Inhalte selbstständig bewerten und verifizieren und keine schädlichen Inhalte verbreiten. Entwickler sollten Sicherheitstests und Feinabstimmungen für bestimmte Anwendungen durchführen, bevor sie damit verbundene Anwendungen bereitstellen.
Wir raten dringend davon ab, diese Modelle dazu zu nutzen, schädliche Informationen zu erstellen oder zu verbreiten oder sich an Aktivitäten zu beteiligen, die der öffentlichen, nationalen oder sozialen Sicherheit schaden oder gegen Vorschriften verstoßen könnten. Verwenden Sie die Modelle nicht für Internetdienste ohne ordnungsgemäße Sicherheitsprüfung und Archivierung. Wir haben alle Anstrengungen unternommen, um die Konformität der Trainingsdaten sicherzustellen, aber aufgrund der Komplexität des Modells und der Daten können dennoch unvorhergesehene Probleme auftreten. Wir haften nicht für Probleme, die sich aus der Verwendung dieser Modelle ergeben, sei es im Zusammenhang mit der Datensicherheit, Risiken für die öffentliche Meinung oder Risiken und Problemen, die durch Missverständnisse, Missbrauch, Verbreitung oder nicht konforme Verwendung des Modells verursacht werden.
Die Verwendung des Quellcodes aus diesem Repository erfordert die Einhaltung von Apache-2.0. Die Verwendung der Index-1.9B-Modellgewichte erfordert die Einhaltung der INDEX_MODEL_LICENSE.
Die Gewichte des Index-1.9B-Modells sind vollständig für die akademische Forschung zugänglich und unterstützen die kostenlose kommerzielle Nutzung .
Wenn Sie der Meinung sind, dass unsere Arbeit für Sie hilfreich ist, zitieren Sie sie gerne!
@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
self llm: https://github.com/datawhalechina/self-llm/blob/master/bilibili_Index-1.9B/04-Index-1.9B-Chat%20Lora%20微调.md