
面向地球科学的开源大型语言模型
K2是一个针对地球科学领域开发的开源大型语言模型。该模型基于LLaMA进行了地球科学文献的预训练,并使用GeoSignal数据集进行了指令微调。K2在GeoBench基准测试中表现优异,超越了同等规模的基线模型。项目提供了模型权重、训练数据和评估基准,为地球科学领域的自然语言处理研究提供了宝贵资源。
<a href='https://arxiv.org/abs/2306.05064'><img src='https://img.shields.io/badge/论文-ArXiv-C71585'></a> <a href='https://huggingface.co/daven3/k2_fp_delta'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20Hugging Face-delta模型-red'></a> <a href='https://huggingface.co/daven3/k2-v1'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20Hugging Face-k2%20v1-red'></a> <a href='https://huggingface.co/daven3/k2_it_adapter'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20Hugging Face-适配器模型-red'></img></a> <a href='https://huggingface.co/datasets/daven3/geosignal'><img src='https://img.shields.io/badge/数据集-GeoSignal-4169E1'></img></a> <a href='https://huggingface.co/datasets/daven3/geobench'><img src='https://img.shields.io/badge/数据集-GeoBench-4169E1'></img></a>
我们推出了K2(7B),这是一个开源语言模型,首先通过在收集和清理的地球科学文献(包括地球科学开放获取论文和维基百科页面)上进一步预训练LLaMA,然后使用知识密集型指令调优数据(GeoSignal)进行微调。初步评估中,我们使用GeoBench(包括地质学、地理学和环境科学的全国研究生入学考试和AP测试)作为基准。与具有相似参数的几个基线模型相比,K2在客观和主观任务上表现更优。 在本仓库中,我们将分享以下代码和数据。
peft_model和transformers获得完整的K2模型。)
以下是K2训练的概览:

1. 准备代码和环境
克隆我们的仓库,创建Python环境,并通过以下命令激活它
git clone https://github.com/davendw49/k2.git cd k2 conda env create -f k2.yaml conda activate k2
2. 准备预训练的K2(GeoLLaMA)
K2的当前版本在Hugging Face上 模型 K2的先前版本由两部分组成:delta模型(类似Vicuna),对LLaMA-7B的附加权重,以及适配器模型(通过PEFT训练)。
| Delta模型 | 适配器模型 | 完整模型 |
|---|---|---|
| k2_fp_delta | k2_it_adapter | k2_v1 |
python -m apply_delta --base /path/to/weights/of/llama --target /path/to/weights/of/geollama/ --delta daven3/k2_fp_delta
即将推出...
3. 使用K2
base_model = /path/to/k2 tokenizer = LlamaTokenizer.from_pretrained(base_model) model = LlamaForCausalLM.from_pretrained( base_model, load_in_8bit=load_8bit, device_map=device_map torch_dtype=torch.float16 ) model.config.pad_token_id = tokenizer.pad_token_id = 0 model.config.bos_token_id = 1 model.config.eos_token_id = 2
或者,也可以
base_model = /path/to/geollama lora_weights = /path/to/adapter/model tokenizer = LlamaTokenizer.from_pretrained(base_model) model = LlamaForCausalLM.from_pretrained( base_model, load_in_8bit=load_8bit, device_map=device_map torch_dtype=torch.float16 ) model = PeftModel.from_pretrained( model, lora_weights, torch_dtype=torch.float16, device_map=device_map, ) model.config.pad_token_id = tokenizer.pad_token_id = 0 model.config.bos_token_id = 1 model.config.eos_token_id = 2
./generation/目录中在本仓库中,我们分享了指令数据和基准数据:
./data/geosignal/./data/geobench/我们用于在LLaMA-7B上进行进一步预训练的文本语料库包含39亿个标记,这些标记来自于在地球科学领域选定的高质量期刊上发表的地球科学论文,主要由GAKG收集。
Hugging Face上的增量模型:daven3/k2_fp_delta
科学领域适应在指令微调过程中有两个主要步骤。
以下是训练领域特定语言模型的配方示意图:

在GeoBench中,我们收集了183个NPEE多选题和1,395个AP测试题作为客观任务。同时,我们收集了NPEE中所有939个主观问题作为主观任务集,并使用其中50个通过人工评估来衡量基线性能。
训练脚本是**run_clm.py**
deepspeed --num_gpus=4 run_clm.py --deepspeed ds_config_zero.json >log 2>&1 &

我们使用的参数:
- 每个设备的批量大小:2
- 全局批量大小:128(2*4gpu*16梯度累积步骤)
- 可训练参数数量:6738415616(7b)
- 学习率:1e-5
- bf16:true
- tf32:true
- 预热:0.03/3 epoch(接近1000步)
- Zero_optimization_stage:3
提示:由于计算能力有限,我们无法从检查点平滑恢复。因此,在恢复训练时我们没有加载优化器状态字典。尽管图表中有两个明显的峰值,但性能似乎保持正常。
训练脚本是**finetune.py**
python finetune.py --base_model /path/to/checkpoint-30140 --data_path /path/to/alpaca.json --output_dir /path/to/stage/one/model/ --cuda_id 2 --lora_target_modules "q_proj" "k_proj" "v_proj"
python finetune.py --base_model /path/to/checkpoint-30140 --data_path /path/to/geosignal.json --output_dir /path/to/stage/two/model/ --cuda_id 2 --lora_target_modules "q_proj" "k_proj" "v_proj" --resume_from_checkpoint /path/to/stage/one/model/
- 批量大小:128
- 微批量大小:4
- 训练轮数:1
- 学习率:3e-4
- 截断长度:512
- 验证集大小:2000
- lora r:8
- lora alpha:16
- lora dropout:0.05
- lora 目标模块:["q_proj", "k_proj", "v_proj"]
| 案例1 | 案例2 | 案例3 |
|---|---|---|
![]() | ![]() | ![]() |
回答:
回答并解释:
对比回答:
我们在evaluation文件夹中分享了原始评估代码,并将在不久的将来发布Geo-Eval,其中包含更多评估方法。
K2最初来源于世界第二高峰的名字,我们相信未来会有更大、更强大的地球科学语言模型被创造出来。此外,为了训练一个模型以适应具有显著领域壁垒的学科,我们遇到了许多困难(收集语料库、清理学术数据、计算能力等),这与攀登K2不亚于攀登珠穆朗玛峰的事实相似🏔️。
该项目由上海交通大学Acemap团队创立,包括邓程、张天航、何中谋、陈琦元、施圆圆、周乐,由张伟男、傅洛毅、林舟涵、何俊贤和王新兵指导。整个项目得到了周成虎院士和中国科学院地理科学与资源研究所的支持。
K2参考了以下开源项目。我们要对这些项目的研究人员表示感谢和敬意。
K2得到了周成虎院士和中国科学院地理科学与资源研究所的支持。
K2是一个仅供非商业用途的研究预览版,受LLaMA模型许可证和OpenAI生成的数据使用条款的约束。如果您发现任何潜在的违规行为,请与我们联系。代码根据Apache许可证2.0发布。GeoSignal和GeoBench数据正在不断更新,如果您想订阅数据,可以发送电子邮件至davendw@sjtu.edu.cn。
如果您使用K2的代码或数据,请使用以下引用:
@misc{deng2023learning,
title={K2: A Foundation Language Model for Geoscience Knowledge Understanding and Utilization},
author={Cheng Deng and Tianhang Zhang and Zhongmou He and Yi Xu and Qiyuan Chen and Yuanyuan Shi and Luoyi Fu and Weinan Zhang and Xinbing Wang and Chenghu Zhou and Zhouhan Lin and Junxian He},
year={2023},
eprint={2306.05064},
archivePrefix={arXiv},
primaryClass={cs.CL}
}


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号