FengZhengLLM

GitHub
517 1 中等 2 次阅读 2个月前Apache-2.0语言模型
AI 解读 由 AI 自动生成,仅供参考

“风筝”航天知识大模型是由哈尔滨工业大学社会计算与信息检索研究中心文本生成组推出的开源大语言模型,专门针对航天领域知识问答与科普设计。它通过高效的知识注入和形式对齐训练,整合了大量航天新闻、维基百科、专业书籍及论文等高质量数据,能够以生动直观的方式回答航天相关问题,帮助用户快速获取准确、专业的航天知识。

该模型主要解决了航天领域知识专业性强、获取门槛高的问题,通过人工智能技术降低了知识普及的难度,提升了信息检索和应用的效率。它不仅能在单知识点问答中表现精准,还能整合多源信息生成事实性长回复,有效缓解了大模型在专业领域容易产生“幻觉”或提供过时信息的情况。

“风筝”大模型适合多类用户:航天领域的从业人员和研究人员可用其辅助专业查询与技术探讨;教育工作者和青少年航天爱好者能通过它进行知识学习与科普互动;开发者也可基于其开源模型,进一步构建或集成航天相关的智能应用。

其技术亮点包括创新的“知识注入监督微调”策略,通过自监督指令样本构造和基于困惑度的间隔训练,提升了领域知识的学习效率;同时集成了检索增强生成(RAG)模块,支持查询增强、扩展与分解,进一步提高了回答的准确性和信息覆盖范围。模型在航天知识占比和问答能力上已超越同规模开源模型,并与“卫星百科”合作提供了在线体验服务,自上线以来已完成数千次交互,获得了良好的用户反馈。

使用场景

某航天科普公众号编辑正在准备一篇关于“中国空间站建造历程”的专题文章,需要快速、准确地整合从早期规划到“天和”核心舱发射的关键节点、技术细节及相关背景知识。

没有 FengZhengLLM 时

  • 信息搜集耗时且分散:编辑需要在维基百科、专业论文、新闻报道等多个平台手动搜索和交叉验证信息,过程繁琐,效率低下。
  • 专业术语理解门槛高:遇到“转位对接”、“舱段扩展机构”等专业术语时,需额外查阅大量资料才能准确理解并转化为通俗表达。
  • 事实准确性难以保障:网络信息鱼龙混杂,编辑需花费大量精力辨别过时信息或民间传言,确保科普内容的权威性存在挑战。
  • 知识串联与整合困难:关于各次发射任务的具体目标、技术迭代与承继关系,需要自行梳理逻辑,容易遗漏关键联系或产生叙述断层。

使用 FengZhengLLM 后

  • 一站式高效获取结构化知识:编辑直接向 FengZhengLLM 提出如“梳理中国空间站从‘天宫一号’到‘天和’核心舱的建造关键阶段与核心技术”等复杂问题,模型能快速返回整合有序的概述,极大缩短了资料搜集时间。
  • 专业概念即时解析与转化:针对文中需要解释的技术术语,编辑可随时追问,FengZhengLLM 能提供准确的定义、原理说明,并给出适合科普的类比解释建议。
  • 基于高质量信源的可靠回答:FengZhengLLM 经过航天领域高质量文档训练,并集成了检索增强生成(RAG)模块,其回复基于卫星百科等权威信源,显著提升了内容的事实准确性。
  • 深度关联与逻辑呈现:模型能够理解并回答“问天实验舱的发射对核心舱能源管理系统提出了哪些新要求?”这类需要关联多知识点的问题,帮助编辑构建出逻辑清晰、内容深度的文章脉络。

FengZhengLLM 通过其专业的领域知识库与智能交互能力,将航天科普内容创作者从繁重的信息处理工作中解放出来,使其能更专注于内容创意与叙事表达。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

需要 NVIDIA GPU,显存 8GB+,CUDA 版本未说明

内存

未说明

依赖
notes建议使用 conda 创建并管理 Python 3.10 环境,通过 pip 安装 requirements.txt 中的依赖。模型评测脚本需要指定模型路径。项目主要用于学术研究,严禁商业用途。
python3.10
torch
transformers
accelerate
FengZhengLLM hero image

快速开始

“风筝”航天知识大模型

中文 | English

1 引言

随着我国航天领域成果的不断涌现,人民群众对航天知识的兴趣日益高涨,航天技术的大规模持续开发也更为迫切。为了响应国家和人民群众对航天知识科普工作的需求,帮助研究人员推动航天科技的持续创新发展,哈尔滨工业大学社会计算与信息检索研究中心文本生成组(HIT-SCIR-TG) 推出航天知识大模型“风筝”,主要面向青少年航天爱好者、航天领域从业人员,旨在通过人工智能技术,以更加生动、直观的方式整合和推广航天知识,提升用户知识获取效率和应用范围。

风筝大模型在语言模型航天知识占比量以及航天领域问题回答能力的基准上超越了一众同等参数量级的开源模型。

基于风筝大模型,我们与国内知名的航天科普及研讨社群“卫星百科”进行了合作,在其网站首页上线了卫星百科航天大模型。自六月末上线至今,已经进行了七千余人次的航天问答,在用户社群中获得了广泛的好评。

模型在线体验链接 (我们开放前1000位用户快速注册,邀请码为:scir。其余用户可以在系统中申请邀请码,人工审核后,将以邮件形式发送到对应邮箱。)

接下来我们将从领域大模型高效知识学习、模型能力评测及结果、检索增强三个维度进行技术介绍。

2 面向航天领域的模型高效知识学习

面向航天领域的大语言模型(Large Language Model, LLM)继续预训练需要高质量数据与高效训练算法的支撑,其中预训练数据是支撑模型各项能力的基础,决定了模型的性能上限;训练算法则是将数据中蕴含的知识转换为模型能力的关键部分,同时也是影响模型学习效率的核心要素。因此,为了提升数据质量与训练效率,“风筝”大模型的构建流程针对两者分别进行了相应的优化。

2.1 航天领域高质量文档的获取

我们将模型的训练分为两个不同的阶段:知识注入阶段和形式对齐阶段。

知识注入阶段训练的目的是向模型的内部参数注入航天领域的丰富事实性和科学性知识。该阶段所基于的文本文档数据主要来自于互联网及相关书籍,包括航天新闻、维基百科、微信公众号、官方网站和宇航学科相关教科书及论文等。我们以词表过滤的方法对海量的候选文本进行过滤,从而获取与航天领域强相关的文档。经过词表过滤获取的文本数据又经过了细粒度的去重,该阶段我们使用了data-juicer工具。

知识注入阶段数据来源比例

形式对齐阶段的训练的目的是强化模型的指令遵循能力以及多轮航天知识交互问答的能力。该阶段所基于的交互对话数据来自于Infinite-Instruct数据集以及由闭源大语言模型基于高质量航天领域文档迭代生成的单轮和多轮问答对。为了强化模型执行高质量检索增强生成(Retrieval-Augmented Generation, RAG)流程的能力,我们还额外引入了流程中各个节点所对应的指令数据。

2.2 知识注入监督微调

继续预训练(Continual Pre-training)是一种常用的方法,用于增强特定领域模型的知识。这种方法通常在通用预训练模型基础上,对特定领域的文本数据进行训练。这样做可以使得模型更好地理解和生成与该领域相关的文本,提高其在特定任务上的表现。

继续预训练的优势在于,它能够使模型更加专业化,提高其在特定领域任务上的准确性和效率。然而,这也需要大量的领域特定数据和计算资源。但在实践中,借由继续预训练方法向模型中注入领域知识的策略却往往存在低效的问题。某些领域的数据非常有限,不足以支持有效的继续预训练。同时,继续预训练的步骤与后续的监督微调(Supervised Fine-Tuning, SFT)存在较大的形式差距,模型在对齐这种差别时存在性能损耗,也就是所谓的“对齐税”。

为了缓解这些问题,我们提出了知识注入监督微调策略。知识注入监督微调策略主要包含两个部分,分别是多维度文档自监督指令微调训练样本构造以及基于模型特定文档困惑度(Perplexity, PPL)排序的领域知识间隔训练。

2.2.1 自监督指令微调训练样本构造

我们从多个角度出发,执行基于高质量预训练文档的指令微调训练样本数据增强。具体来说,我们设计了一种自监督的数据增强策略,基于原始文档,构造一系列知识密集的指令微调训练样本。本方法不需要结合任何特定领域的处理策略,因此适用于任何场景下的领域文本训练。

自监督指令微调训练样本构造样例

2.2.2 基于模型特定文档困惑度排序的领域知识间隔训练

大语言模型在预训练过程中进行事实性知识学习的根本机制来源于描述同一事实知识点的多样化文本以及训练过程中类似训练样本的合理重复。基于这种认识,我们在面向事实性知识注入的指令监督微调过程中引入了基于模型特定文档困惑度排序的领域知识间隔训练策略。具体来说,针对每一个特定的基础语言模型(如Llama3-8B),首先计算其在领域文档全集上对每一篇文档正文的困惑度,随后按照困惑度升序排列,依次执行上节中的自监督指令微调训练样本构造流程。在执行监督微调训练的过程中,将每篇领域文档所扩增的数条指令数据以相同的间隔均匀分布在训练数据中,并保证在训练过程中每个minibatch所包含的数据均按照原始训练数据的排布,不进行任何shuffle操作。

2.2.3 实验验证

由于计算资源限制,我们在额外的三个小数据集上对知识注入监督微调策略的有效性进行了验证。包括SAT,一个中文的航天领域的QA数据集、Film Wiki,一个基于维基百科中的电影专题内容构造的QA数据集以及Squad,从阅读理解数据集SQUAD中选择部分数据构造的QA数据集。以上的三个数据集从多语言、专业领域以及通用领域的角度对我们的方法进行了充分的验证。

知识注入监督微调的验证实验结果

2.3 形式对齐监督微调

此步骤的监督微调的主要目的是将模型的问答输出与人类偏好的形式进行对齐。模型执行监督微调训练所用到的数据集包括航天领域问答部分和通用指令遵循部分。航天领域问答部分由单轮以及多轮的航天知识问答数据构成,通用指令遵循部分则来自于Infinit-Instruction数据集。

3 面向航天领域的模型能力评价基准构造

现有的领域大模型相关研究中,缺乏能够评价大模型在航天领域知识运用的数据集,因此我们构建了一个面向航天领域的评价基准。为了评价模型的知识问答能力,我们将评价基准分为两类任务。具体任务定义及数据来源如下:

  1. 单知识点问答(Single-point): 在单知识点问答任务中,大模型需要使用单一的知识点回答问题。此类数据的原始问题来自卫星百科网站的真实用户提问,回答则来源于人工标注。我们使用EM(Exact Match)、F1指标评价模型在此任务上的表现。
  2. 事实性长回复问答(Factual-long): 在事实性长回复问答中,大模型需要整合多个知识点或事实性概念才能完整回答问题。我们使用卫星百科词条中的名词构造了事实性长回复问题,标准回答则来自于百科词条中的所有属性。我们使用字符串匹配大模型生成的回答在标准答案列表中的覆盖比例,对事实性长回复问答任务进行评价。

4 评价结果

我们在评价基准上,比较了Qwen-2-7B-Instruct、Llama3-8B-Instruct、glm4-9B-chat和风筝大模型(FengZheng)。下表为不同模型在评价基准上的表现,结果表明“风筝”大模型在两类任务上均展现出较大优势。

实验结果

5 检索增强生成强化

即使我们使用高质量数据对风筝大模型进行训练,它也可能由于幻觉或过时的知识而产生不准确的回复。为了解决这些问题,我们构建了检索增强生成 (RAG) 模块来增强“风筝”大模型的能力。该模块可分为三个阶段:

  • 查询增强: 通过结合上下文对话记录,风筝大模型可以识别并明确查询中的实体,进一步重写查询以确保其含义更明确和清晰。
  • 查询扩展与分解: 用户输入的查询通常包含多个实体。考虑到大模型在理解多实体查询方面存在局限性,该模型将查询拆分为几个子查询。其中,每个子查询将重点关注单个实体的相关问题。
  • 响应生成: 在最后阶段,大模型将综合检索到的相关文档信息,生成连贯且信息丰富的响应。

检索增强生成策略流程

5.1 查询增强

多轮对话往往存在大量的指代以及实体引用,为了准确辨别用户的意图并提供更令人满意的结果,我们使用大语言模型进行查询重写。如图所示,在用户输入查询后,风筝大模型将结合先前的对话历史来消除用户查询中存在的引用歧义、明确指代,从而确保对用户查询的准确解释。

风筝大模型聚焦于航空航天领域知识,本阶段将对增强后的新查询进行以下三方面检查:

  1. 确定用户的查询是否与航空航天知识相关。
  2. 评估用户的查询是否适合知识检索增强以生成响应。
  3. 验证用户的查询是否符合要求,以避免包含色情、政治和其他敏感话题等限制性内容。

只有当所有三个条件同时满足时,大模型才会继续进行知识检索增强。

5.2 查询扩展与分解

虽然增强查询解决了实体引用问题,但单个查询中仍可能包含多个实体,影响大模型生成令人满意的响应、干扰大模型准确检索到问题相关文档。

为了处理多样化的用户查询,查询扩展与分解模块将根据用户查询的复杂度,执行混合粒度自适应检索。具体而言,用户查询的复杂度与其所包含的领域特定知识实体的数量呈正相关。对于只涉及单个领域特定实体的用户查询,该模块将执行合理的扩展以填充有关实体一般属性。对于包含多个领域特定实体的用户查询,该模块会拆分查询,将复杂的原始查询重写为易于检索的形式,从而提高相关文档检索的召回率。

避免引入外部工具,我们使用大模型本身来执行查询扩展和分解。通过将查询作为输入,大模型将其拆分重写为一组子查询,以供后续检索。输出是一组(子查询、关键词),其中子查询字段包含通过重写用户输入获得的子查询字符串列表,关键词字段提供每个子查询对应的关键词列表。针对扩展或分解原始查询生成的子查询,本模块将依次执行多路径并行召回和两阶段重排筛选两个步骤,从而获得每个子查询对应的文档。

5.3 响应生成

在将检索到的文档输入到模型上下文之前,模型本身会评估检索到的文档与其对应的子查询之间的相关性。经过多层过滤的文档随后会与其对应的子查询进行组合,并与用户的增强查询一起作为模型的输入,以指导大模型的响应生成。当用户查询没有获得对应的相关文档时,则会提醒大模型提供适当的解释。

6 局限性与未来工作

受限于计算资源以及数据来源等原因,当前“风筝”航天知识大语言模型还存在以下局限性:

  1. 目前模型的交互以及航天领域知识增强主要聚焦于中文,欠缺对包括英文在内的更多语言的优化,具备多语言能力的“风筝”大模型将于后续版本中发布。
  2. 模型目前更多关注航天基础知识的运用,后续将着重强化“风筝”大模型在航天科学研究中的落地,探索大语言模型赋能航天研究的技术路径。

7 本项目介绍

7.1 项目结构

├── datas                      # 基准数据文件夹
│   ├── factual_long.jsonl     # 事实性长回复评测数据
│   └── single_point.jsonl     # 单知识点问题评测数据
├── eval_factual_long.py       # 用于评估事实性长回复问题
├── eval_single_point.py       # 用于评估单知识点问题
├── output                     # 输出文件夹,用于存放模型输出
├── README_EN.md               # 英文版 README 文档
├── README.md                  # 中文版 README 文档
└── requirements.txt           # 依赖文件列表

7.2 环境安装

conda create -n fz_bench python==3.10
conda activate fz_bench
pip install requirements.txt

7.3 模型评测

单知识点问题评测

python eval_single_point.py \
    --model_name {your_model_path}

事实性长回复问题评测

python eval_factual_long.py \
    --model_name {your_model_path}

8 参与人员

  • 指导教师:冯骁骋教授、秦兵教授

  • 项目主要开发者:马伟涛、杨茂锦、张慧怡、刘慧新、赵帅博(以上排名不分先后)

9 开源协议&免责声明

对本仓库源码的使用遵循开源许可协议 Apache 2.0

本项目相关资源仅供学术研究之用,严禁用于商业用途。使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目无法对其准确性作出保证。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

10 引用

如果您使用了本项目的数据或者代码,或是我们的工作对您有所帮助,请声明引用

@misc{FengZheng2024,
    author = {Xiaocheng Feng*, Weitao Ma, Maojin Yang, Huiyi Zhang, Huixin Liu, Shuaibo Zhao, Bing Qin},
    title = {FengZheng: A Chinese Large Language Model for Aerospace Science},
    year = {2024},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/SCIR-TG/FengZhengLLM}}
}

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架