license: mit
SciPhi-Self-RAG-Mistral-7B-32k 模型卡片
SciPhi-Self-RAG-Mistral-7B-32k 是基于 Mistral-7B-v0.1 微调的大型语言模型(LLM)。该模型首先按照 SciPhi-Mistral-7B-32k 模型卡片描述的流程进行微调,随后在新发布的 self-rag 数据集上进一步优化。训练过程中还混合了其他RAG相关指令数据集以保持模型风格的连贯性。虽然基准测试表现优异,但该模型仍需调试以成为更出色的对话助手。
基准测试结果:

SciPhi-AI 提供免费托管API服务(实际部署模型可能变动),当前可用版本为 SciPhi-Self-RAG-Mistral-7B-32k。详见文档说明。
推荐对话格式
建议将以下格式:
messages = [
{
"role": "system",
"content": "你是一个总是用海盗风格回应的友好聊天机器人",
},
{"role": "user", "content": "人类一次能吃多少架直升机?"},
]
转换为 --->
### 系统:
你是一个总是用海盗风格回应的友好聊天机器人
### 指令:
人类一次能吃多少架直升机?
### 响应:
...
以下是结合RAG上下文检索的实现示例:
def get_chat_completion(
self, conversation: list[dict], generation_config: GenerationConfig
) -> str:
self._check_stop_token(generation_config.stop_token)
prompt = ""
added_system_prompt = False
for message in conversation:
if message["role"] == "system":
prompt += f"### 系统:\n{SciPhiLLMInterface.ALPACA_CHAT_SYSTEM_PROMPT}。助手还需遵守以下附加指令 - {message['content']}\n\n"
added_system_prompt = True
elif message["role"] == "user":
last_user_message = message["content"]
prompt += f"### 指令:\n{last_user_message}\n\n"
elif message["role"] == "assistant":
prompt += f"### 响应:\n{message['content']}\n\n"
if not added_system_prompt:
prompt = f"### 系统:\n{SciPhiLLMInterface.ALPACA_CHAT_SYSTEM_PROMPT}.\n\n{prompt}"
context = self.rag_interface.get_contexts([last_user_message])[0]
prompt += f"### 响应:\n{SciPhiFormatter.RETRIEVAL_TOKEN} {SciPhiFormatter.INIT_PARAGRAPH_TOKEN}{context}{SciPhiFormatter.END_PARAGRAPH_TOKEN}"
latest_completion = self.model.get_instruct_completion(
prompt, generation_config
).strip()
return SciPhiFormatter.remove_cruft(latest_completion)
模型架构
基础模型:Mistral-7B-v0.1
架构特性:
- 基于Transformer
- 分组查询注意力机制
- 滑动窗口注意力机制
- 字节回退BPE分词器

参考文献
- 浅井晃, 吴志伟等 (2023). 《Self-RAG:通过自我反思实现检索、生成与批判的学习》. arXiv预印本 arXiv:2310.11511.
- 连伟, Goodson B等 (2023). 《MistralOrca:基于过滤版OpenOrcaV1 GPT-4数据集指令微调的Mistral-7B模型》. HuggingFace仓库. 链接
- Mukherjee S等 (2023). 《Orca:从GPT-4复杂解释轨迹中渐进学习》. arXiv预印本 arXiv:2306.02707.
- Longpre S等 (2023). 《Flan数据集集:有效指令微调的数据与方法设计》. arXiv预印本 arXiv:2301.13688.
- Mistral AI (2023). 《Mistral-7B-v0.1模型卡片》. 这个70亿参数的预训练生成文本模型在所有测试基准上均超越Llama 2 13B。完整细节请参阅论文和发布博客。架构特性:采用分组查询注意力、滑动窗口注意力和字节回退BPE分词器的Transformer模型。链接
致谢
感谢AI Alignment Lab、vikp、jph00等研究人员的贡献。