🚀 Vikhr-YandexGPT-5-Lite-8B-it
基于YandexGPT-5-Lite-8B-pretrain的指令模型,使用SFT方法在俄语数据集GrandMaster-PRO-MAX和Grounded-RAG-RU-v2上进行训练。
🚀 快速开始
你可以通过以下链接尝试使用该模型:

✨ 主要特性
📦 安装指南
暂未提供安装步骤相关内容。
💻 使用示例
基础用法
以下是一个使用该模型的代码示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Vikhrmodels/Vikhr-YandexGPT-5-Lite-8B-it"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
input_text = "Напиши краткое описание фильма Назад в будущее."
messages = [
{"role": "user", "content": input_text},
]
input_ids = tokenizer.apply_chat_template(messages, truncation=True, add_generation_prompt=True, return_tensors="pt")
output = model.generate(
input_ids,
max_length=1512,
temperature=0.7,
)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
模型回复:
"《回到未来》(英文:"Back to the Future")是一部于1985年上映的美国科幻电影。该电影由罗伯特·泽米吉斯执导,鲍勃·盖尔编剧。迈克尔·J·福克斯、克里斯托弗·洛伊德和莉娅·汤普森主演。
电影讲述了1985年的普通少年马蒂·麦克弗莱的故事,他因朋友科学家埃米特·布朗博士的发明而意外回到了1955年。马蒂发现自己身处过去,他必须帮助当时年轻天真的布朗博士发明时光机。
在冒险过程中,马蒂遇到了年轻的布朗博士及其家人,还爱上了一个女孩,而这个女孩未来将成为他的母亲。马蒂不仅要纠正过去的错误,还要防止一场可能改变未来的灾难。
这部电影获得了众多奖项,成为了经典之作,还衍生出了两部续集以及许多至今仍广受欢迎的梗和台词。"
高级用法
如何使用RAG
documents
是一个包含文档内容描述的字典列表,使用 json.dumps(array, ensure_ascii=False)
进行处理(见下面的示例)。
文档内容可以采用3种不同的格式:Markdown、HTML、纯文本。每个文档的内容可以是长度不超过4000个字符的文本块。
[
{
"doc_id": (0..5),
"title": "(null or str)",
"content": "(html or markdown or plain text)"
}
]
正确使用OpenAI-like API的示例
启动vLLM服务器:vllm serve --dtype half --max-model-len 32000 -tp 1 Vikhrmodels/Vikhr-YandexGPT-5-Lite-8B-it --api-key token-abc123
GROUNDED_SYSTEM_PROMPT = "Your task is to answer the user's questions using only the information from the provided documents. Give two answers to each question: one with a list of relevant document identifiers and the second with the answer to the question itself, using documents with these identifiers."
documents = [
{
"doc_id": 0,
"title": "全球变暖:冰川",
"content": "在过去的50年里,全球冰川的体积减少了30%"
},
{
"doc_id": 1,
"title": "全球变暖:海平面",
"content": "自1880年以来,全球海平面上升了20厘米,并且每年继续上升3.3毫米"
}
]
sample_history = [
{'role': 'system', 'content': GROUNDED_SYSTEM_PROMPT},
{'role': 'documents', 'content': json.dumps(documents, ensure_ascii=False)},
{'role': 'user', 'content': '全球变暖'}
]
relevant_indexes = llm_client.chat.completions.create(
model=llm_model,
messages=sample_history,
temperature=0.0,
max_tokens=2048
).choices[0].message.content
print('使用文档: ' + relevant_indexes + '\n----')
final_answer = llm_client.chat.completions.create(
model=llm_model,
messages=sample_history + [{'role': 'assistant', 'content': relevant_indexes}],
temperature=0.3,
max_tokens=2048
).choices[0].message.content
print(final_answer)
代码执行后的回复大致如下:
使用文档: {"relevant_doc_ids": [0, 1]}
全球变暖是指地球大气和海洋的平均温度长期上升的现象。这一现象对我们的星球产生了诸多影响,根据我所掌握的数据,其中有两个关键方面值得关注:
-
冰川体积减少:在过去的50年里,全球冰川的体积显著减少。数据显示,冰川体积减少了30%。这可能与冰川因温度升高而融化有关,是全球变暖的一个迹象。
-
海平面上升:全球海平面也在上升,这与冰川和冰盖的融化以及水温升高导致的海水膨胀有关。自1880年以来,海平面上升了20厘米,并且每年以3.3毫米的速度继续上升。
这些变化对生态系统、气候和人类社会产生了严重影响。冰川融化导致海平面上升,可能会淹没沿海地区和岛屿,还会改变水资源和气候模式。
通过模型的第一个回复 relevant_indexes
(JSON格式),可以判断模型是否在文档中找到了相关信息。如果没有找到,模型会返回一个空数组,在生成第二个回复时,它会表示在知识库中未找到相关信息。
📚 详细文档
注意事项和限制
⚠️ 重要提示
该模型的回答安全级别较低,其设计目的是正确、完整地执行指令。在使用时请务必注意这一点,并自行进行测试。部分问题可以通过系统提示和在用户提示中额外强调安全重要性来解决。
💡 使用建议
- 系统提示不用于描述角色,建议用于指定回答风格(例如“仅以JSON格式回答”)。此外,建议使用英语编写系统提示,因为数据集中是这样处理的,但使用英语编写系统提示并不影响回答的语言。
- RAG模式必须使用 如何使用RAG 部分中描述的系统提示
GROUNDED_SYSTEM_PROMPT
。此外,模型有时可能会在回答中加入一些来自其自身知识的通用信息。
- 建议使用较低的温度(0.1 - 0.5)和
top_k
(30 - 50)来使用该模型。当温度为1.0时,可能会出现随机的生成缺陷。
🔧 技术细节
Vikhr-YandexGPT-5-Lite-8B-it 是使用SFT(Supervised Fine-Tuning)方法创建的。
指令式SFT部分
在模型的SFT训练阶段,我们准备了一个大型(150k条指令)的指令式合成数据集 Vikhrmodels/GrandMaster-PRO-MAX。该数据集的特点是内置了CoT(Chain-Of-Thought),我们使用了经过修改的gpt-4-turbo提示来收集这些数据,详细信息可在数据集卡片中查看。
此外,为了实现RAG Grounding,我们还准备了另一个合成数据集 - Vikhrmodels/Grounded-RAG-RU-v2(50k个对话),其收集流程较为复杂,无法在此简要描述,你可以在其数据集卡片中了解更多详细信息。
训练配置
📄 许可证
该模型使用的许可证为 yandexgpt-5-lite-8b-pretrain。
👥 作者
引用
@inproceedings{nikolich2024vikhr,
title={Vikhr: Advancing Open-Source Bilingual Instruction-Following Large Language Models for Russian and English},
author={Aleksandr Nikolich and Konstantin Korolev and Sergei Bratchikov and Nikolay Kompanets and Igor Kiselev and Artem Shelmanov},
booktitle={Proceedings of the 4th Workshop on Multilingual Representation Learning (MRL) @ EMNLP-2024},
year={2024},
publisher={Association for Computational Linguistics},
url={https://arxiv.org/pdf/2405.13929}
}