浪潮信息开源 源2.0 基础大模型,魔搭社区最佳实践教程来啦!

简介: 浪潮信息发布源2.0基础大模型,参数量包括1026亿、518亿、21亿三个大模型,从源2.0的论文上可以看到,源2.0不仅在数理逻辑、数学计算、代码生成能力上,再次超强进化,还在算法、数据、算力方面,提出了三项创新。

引言

浪潮信息发布源2.0基础大模型,参数量包括1026亿、518亿、21亿三个大模型,从源2.0的论文上可以看到,源2.0不仅在数理逻辑、数学计算、代码生成能力上,再次超强进化,还在算法、数据、算力方面,提出了三项创新。

image.png

算法方面,源2.0提出并采用了一种新型的注意力算法结构LFA(局部注意力过滤增强机制,Localized Filtering-based Attention),对于自然语言的关联语义理解更准确。

数据方面,源2.0使用中英文书籍、百科、论文等高质量中英文资料,降低了互联网语料内容占比,增加了高质量的专业数据集和逻辑推理数据集。

算力方面,源2.0采用了非均匀流水并行和优化器参数并行的分布式训练方法,显著降低了大模型对芯片间P2P带宽的需求。

GitHub开源地址:

https://github.com/IEIT-Yuan/Yuan-2.0

ModelScope模型开源地址:

https://modelscope.cn/models/YuanLLM/Yuan2-2B-Janus

ModelScope创空间体验地址:https://modelscope.cn/studios/YuanLLM/yuan/summary

小模型有大能量

在魔搭创空间,CPU就可以运行host Yuan2-2B-Janus-Chat模型。

Yuan2-2B-Janus-Chat模型虽然尺寸小,但是已经具备比较好的文学创作能力:

常识问答能力:

数学计算能力:

代码能力:

模型推理

在ModelScope社区的免费算力上可以实现Yuan2-2B-Janus-hf模型的推理

模型链接:

Yuan2-2B-Janus-hf:

https://modelscope.cn/models/YuanLLM/Yuan2-2B-Janus-hf/summary

推理代码:

import torch
import os
from modelscope import AutoModelForCausalLM, AutoTokenizer
print("Creat tokenizer...")
tokenizer = AutoTokenizer.from_pretrained('YuanLLM/Yuan2-2B-Janus-hf', add_eos_token=False, add_bos_token=False, eos_token='<eod>')
tokenizer.add_tokens(['<sep>', '<pad>', '<mask>', '<predict>', '<FIM_SUFFIX>', '<FIM_PREFIX>', '<FIM_MIDDLE>','<commit_before>','<commit_msg>','<commit_after>','<jupyter_start>','<jupyter_text>','<jupyter_code>','<jupyter_output>','<empty_output>'], special_tokens=True)
print("Creat model...")
model = AutoModelForCausalLM.from_pretrained('YuanLLM/Yuan2-2B-Janus-hf', device_map='auto', torch_dtype=torch.bfloat16, trust_remote_code=True)
inputs = tokenizer("请问目前最先进的机器学习算法有哪些?", return_tensors="pt")["input_ids"].to("cuda:0")
outputs = model.generate(inputs,do_sample=False,max_length=100)
print(tokenizer.decode(outputs[0]))

显存占用:

模型微调

使用SWIFT对 Yuan2-2B-Janus-Chat 进行微调, 解决分类问题。

我们使用的数据集hc3-zh包含了给定问题的人类-ChatGPT回答文本对, 通过这个数据集,可以训练一个区分对应回答是来自人类还是ChatGPT的分类模型。

代码开源地址:

https://github.com/modelscope/swift

微调脚本:

# Experimental environment: A10
# 7GB GPU memory
CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model_type yuan2-janus-2b-instruct \
    --sft_type lora \
    --template_type AUTO \
    --dataset hc3-zh \
    --train_dataset_sample 20000 \
    --eval_steps 100 \
    --output_dir output \
    --num_train_epochs 1 \
    --max_length 2048 \
    --learning_rate 1e-4 \
    --use_flash_attn false \
    --save_only_model true \
    --lora_target_modules ALL \

训练过程也支持本地数据集,需要指定如下参数:

--custom_train_dataset_path xxx.jsonl \
--custom_val_dataset_path yyy.jsonl \

自定义数据集的格式可以参考:

https://github.com/modelscope/swift/blob/main/docs/source/LLM/自定义与拓展.md#注册数据集的方式

微调后推理脚本: (这里的ckpt_dir需要修改为训练生成的checkpoint文件夹)

# Experimental environment: A10
CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --ckpt_dir "output/yuan2-2b-janus-instruct/vx_xxx/checkpoint-xxx" \
    --load_dataset_config true \
    --max_length 2048 \
    --use_flash_attn false \
    --max_new_tokens 2048 \
    --do_sample false \
    --merge_lora_and_save false \

微调后生成样例:

[PROMPT]Classification Task: Are the following responses from a human or from ChatGPT?
Question: 健身房器械训练一小时消耗多少卡路里?
Answer: 健身房器械训练一小时消耗的卡路里数量可能因人而异。这取决于许多因素,包括您的体重、强度、持续时间以及健身房器械本身。
一般来说,使用健身房器械训练时,您可以期望每小时消耗约 400-600 卡路里。但是,如果您的训练强度很高或者体重很大,那么您可能会消耗更多的卡路里。反之,如果您的训练强度较低或者体重较小,您可能会消耗较少的卡路里。
要准确地了解您在使用健身房器械训练时消耗的卡路里数量,最好是使用专业运动手表或追踪器来测量您的消耗量。这些设备通常可以准确地测量您的心率、持续时间以及其他因素,并使用这些信息来估算您的卡路里消耗量。
Category: Human, ChatGPT
Output:<sep>[OUTPUT]ChatGPT<eod>
[LABELS]ChatGPT
--------------------------------------------------
[PROMPT]Classification Task: Are the following responses from a human or from ChatGPT?
Question: 我有一个计算机相关的问题,请用中文回答,什么是 5.25英寸软盘
Answer: 5.25英寸软盘是便携式软盘,它被封装在一个硬质塑料壳内,塑料壳上有防尘、防接角的金属保护罩,盘体无裸露,当将此盘放入磁盘驱动器时,计算机会自动移开金属罩而读取此盘中的数据。
软盘有八寸、五又四分一寸、三寸半之分,8英寸的软盘虽然从技术原理上已经很接近现代软盘,但缺陷就是体积过大,携带很不方便,于是5.25英寸的软盘诞生了。
但是之后体积更小、容量更大的光盘的出现,宣告了软盘时代的终结。当然,现在光盘也正在被U盘(USB disk)等更现代化的存储器淘汰。
Category: Human, ChatGPT
Output:<sep>[OUTPUT]Human<eod>
[LABELS]Human

点击直达模型体验

Yuan2-2B-Janus-demo · 创空间 (modelscope.cn)

目录
打赏
0
0
0
0
692
分享
相关文章
MiniMax开源超长文本处理神器,魔搭社区助力开发者推理部署
Transfermor架构与生俱来的二次计算复杂度,及其所带来的上下文窗口瓶颈,一直为业界所关注。此前,MiniMax开源了MiniMax-01系列模型,采用创新的线性注意力架构,使得模型能够在100万个token长度的上下文窗口上进行预训练;而在推理时,实现了高效处理全球最长400万token的上下文,是目前最长上下文窗口的20倍。
139 0
【热门开源项目】阿里开源巨擘:Qwen-2 72B深度解析与推荐
在人工智能的浪潮中,开源模型如同璀璨的星辰,指引着开发者们探索未知的领域。而今天,我们将聚焦在阿里云推出的开源模型Qwen-2 72B上,从其项目介绍、技术特点、代码解析等多个角度,深入解析并推荐这一卓越的开源项目。
347 1
预训练驱动的统一文本表示-GTE魔搭社区最佳实践
文本表示是自然语言处理(NLP)领域的核心问题, 其在很多NLP、信息检索的下游任务中发挥着非常重要的作用。
学习资料大全​ | 一起来魔搭社区学AI吧!
魔搭社区特别推出研习社栏目,包含AI前沿技术解读、模型应用最佳实践、动手做AI应用(AIGC/Agent/RAG)等主题,持续更新,代码实战点击即运行
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
本次分享内容为Havenask的简介及发展历史,由下面五个部分组成(Havenask整体介绍、名词解释、架构、代码结构、编译与部署),希望可以帮助大家更好了解和使用Havenask。
72325 0
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
社区每周丨通过模板开发小程序文档更新及蚂蚁数据安全星计划推出(7.17-7.21)
社区每周丨通过模板开发小程序文档更新及蚂蚁数据安全星计划推出(7.17-7.21)
94 11
社区供稿 | 达摩院自研开放域文本理解大模型登陆魔搭社区
SeqGPT是一个不限领域的文本理解大模型。无需训练,即可完成实体识别、文本分类、阅读理解等多种任务。该模型基于Bloomz在数以百计的任务数据上进行指令微调获得。模型可以在低至16G显存的显卡上免费使用。目前SeqGPT已经在魔搭社区开源,欢迎体验!
社区供稿 | 达摩院自研开放域文本理解大模型登陆魔搭社区
IDEA研究院Ziya2-13B首发魔搭社区(含社区推理微调最佳实践教程)
10月16日,IDEA研究院(粤港澳大湾区数字经济研究院)CCNL封神榜团队开源中文基座模型Ziya2-13B-Base及其对话模型Ziya2-13B-Chat,两款模型均完全免费、可商用,已在魔搭社区首发上架。
vivo AI全球研究院 BlueLM-7B系列开源!魔搭社区最佳实践教程来了!
BlueLM 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,本次发布包含 7B 基础模型、7B 对话模型,4bits量化的7B对话模型,支持 32K 的长文本基础模型和对话模型。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等