切换到中文 | Онлайн: Чат и ролевые игры | КК: Группа КК
Серия Index-1.9B представляет собой облегченную версию моделей серии Index, включающую следующие модели:
Модель | Средний балл | Средний балл по английскому языку | ММЛУ | СЕВАЛЬ | КММЛУ | HellaSwag | Арк-С | Арк-Э |
---|---|---|---|---|---|---|---|---|
Гугл Джемма 2Б | 41,58 | 46,77 | 41,81 | 31.36 | 31.02 | 66,82 | 36,39 | 42.07 |
Фи-2 (2,7Б) | 58,89 | 72,54 | 57,61 | 31.12 | 32.05 | 70,94 | 74,51 | 87,1 |
Квен1,5-1,8Б | 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,9Б | 64,92 | 69,93 | 52,53 | 57.01 | 52,79 | 80,69 | 65,15 | 81,35 |
Лама2-7Б | 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-13Б | 57,51 | 66,61 | 55,78 | 39,93 | 38,7 | 76,22 | 58,88 | 75,56 |
Байчуань2-13Б | 68,90 | 71,69 | 59,63 | 59,21 | 61,27 | 72,61 | 70.04 | 84,48 |
МПТ-30Б (отчет) | / | 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-Чат |
? Индекс-1.9B-Персонаж (Ролевая игра) | Индекс-1.9B-Персонаж (Ролевая игра) |
? Индекс-1.9B-База | Индекс-1.9B-База |
? Индекс-1.9B-Base-Pure | Индекс-1.9B-Base-Pure |
? Index-1.9B-32K (длинный контекст 32 КБ) | Index-1.9B-32K (длинный контекст 32 КБ) |
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 миллиарда параметров, но поддерживающая длину контекста 32 КБ (это означает, что эта чрезвычайно маленькая модель может читать документы объемом более 35 000 слов за один раз). Модель прошла предварительное обучение и контролируемую точную настройку (SFT) специально для текстов длиной более 32 000 токенов на основе тщательно подобранных длинных текстовых обучающих данных и самостоятельно созданных наборов длинных текстовых инструкций. Модель теперь находится в открытом доступе как на Hugging Face, так и на ModelScope.
Несмотря на небольшой размер (около 2% от моделей типа GPT-4), Index-1.9B-32K демонстрирует отличные возможности обработки длинного текста. Как показано на рисунке ниже, оценка нашей модели размером 1,9B даже превосходит оценку модели размера 7B. Ниже приведено сравнение с такими моделями, как GPT-4 и Qwen2:
Сравнение Index-1.9B-32K с GPT-4, Qwen2 и другими моделями в длинном контексте.
В тесте с иголкой в стоге сена длиной 32К Index-1.9B-32K показал отличные результаты, как показано на рисунке ниже. Единственным исключением стало небольшое желтое пятно (91,08 балла) в районе (длина 32К, глубина 10%), при этом все остальные области показали себя превосходно в преимущественно зеленых зонах.
Оценка NeedleBench
Подробную информацию о загрузке, использовании и техническом отчете для Index-1.9B-32K см.:
Подробный технический отчет Index-1.9B-32Kweb_demo.py
для получения результатов Index-1.9B-Chat. System Message
, чтобы разыграть стереотип пользователя билибили! Мы одновременно открыли исходный код ролевой модели и сопутствующей структуры.
三三
.生成角色
чтобы успешно создать его.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 выпущен 22 августа 2024 г.)
Зависит от битов и байтов, команда установки:
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
оллама: 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