新版本源2.0大模型发布:Yuan2-2B-July-hf
引言
近日,浪潮信息的新一代基础语言大模型源2.0 迎来了重要更新。浪潮信息正式发布了 Yuan2-2B-July-hf 模型,标志着源2.0系列模型在性能和功能上的进一步提升。这一版本将为开发者和研究人员提供更强大的工具,以满足各种语言处理需求。
一、模型介绍
模型名称:Yuan2-2B-July-hf
发布时间:2024 年 8 月
简介:
源2.0 是浪潮信息发布的全新一代基础语言大模型系列,包含源2.0-102B、源2.0-51B 和源2.0-2B。基于源1.0,源2.0 利用更多样的高质量预训练数据和指令微调数据集,显著提升了模型在语义理解、数学推理、代码生成和知识获取等方面的能力。我们提供了全套预训练、微调和推理服务的脚本,支持研发人员进行深度开发。
开源信息:
源2.0系列模型的完整源码和文档已经开源,您可以在以下平台找到新发布模型的相关资源:
魔搭社区:https://modelscope.cn/models/IEITYuan/Yuan2-2B-July-hf
始智AI:https://www.wisemodel.cn/models/IEIT-Yuan/Yuan2-2B-July-hf
二、更新内容
- 英文生成与推理能力的显著提升
- 在 HumanEval 测试集上的准确率提高至 62.8%,代码生成的准确性显著增强。
- 在 GSM8K 数学推理任务中的准确率达到 68%,解决复杂数学问题的能力得到提高。
- 在 MATH数学竞赛中的准确率为 31.2%,在数学推理方面的表现有所提升。
- 编程语言支持的广泛扩展
- 新增了对 C、JavaScript、SQL、Shell 等多种编程语言的支持,强化了代码生成能力。
- 强化了添加代码注释、生成单元测试等代码任务能力,提高了代码质量和维护性。
- 任务能力的全方位增强
- 指令跟随:提升了对复杂指令的理解和执行能力。
- 文档翻译:改进了多语言翻译的准确性,支持更多语言。
- 文档总结:增强了长文本总结的能力,提供更为简洁和准确的摘要。
- 检索增强生成(RAG):在检索和生成任务中表现更加优异。
- 支持更长的序列长度
新版本模型支持 16384个token的序列长度,能够处理更长的文本输入,提高了长篇文档处理的能力,确保生成结果的连贯性和一致性。
三、使用指南
Yuan2-2B-July-hf模型具备强大的文本生成和代码任务能力,在云实例或本地部署上均可高效运行,只需满足基本的硬件要求。推荐的运行环境为阿里云的PAI-DSW,该平台能够提供稳定且高效的计算资源,确保在多种任务中的最佳表现。
- 运行环境
在开始使用模型之前,请确保您的环境符合以下要求:
- 推荐运行环境: 阿里云PAI-DSW
- 最低GPU显存:
- 推理:6GB
- 微调:80GB
- 安装所需库
使用以下命令安装所需的Python库:
pip install transformers==4.30.2 torch modelscope
- 下载和加载模型
Yuan2-2B-July-hf模型支持通过多个平台进行下载,包括魔搭、HuggingFace、OpenXlab、百度网盘、WiseModel等。示例代码使用ModelScope库下载并加载模型:
# 导入所需的库
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch# 源大模型下载
from modelscope import snapshot_downloadmodel_dir = snapshot_download('IEITYuan/Yuan2-2B-July-hf', cache_dir='./')# 定义模型路径
path = './IEITYuan/Yuan2-2B-July-hf'# 定义模型数据类型
torch_dtype = torch.float16 # P100# 获取模型和tokenizer
print("Creat tokenizer...")
tokenizer = AutoTokenizer.from_pretrained(path, 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(path, torch_dtype=torch_dtype, trust_remote_code=True).cuda()print("Done.")
- 文本生成测试
使用以下代码进行文本生成测试:
# 输入和生成
prompt = "请问目前最先进的机器学习算法有哪些?"
inputs = tokenizer(prompt, return_tensors="pt")["input_ids"].to("cuda:0")
outputs = model.generate(inputs, do_sample=False, max_length=1024)
# 如果有长文本输出, 参数加上'repetition_penalty=1.2'设置重复性惩罚
# outputs = model.generate(inputs, do_sample=False, max_length=1024, repetition_penalty=1.2)
output = tokenizer.decode(outputs[0])
clean_output = output.replace("<sep>", "\n\n").replace("<eod>", "")
print(clean_output)
在生成长文本时,可以通过增加
repetition_penalty=1.2
参数来设置重复性惩罚,进一步优化生成结果。
- 测试效果优化
为了确保最佳的测试效果,请注意以下几点:
- 输入:确保输入的问题清晰且具有一定的复杂性,以便模型能够充分展示其能力。
- 参数:调整 max_length 和 repetition_penalty 参数,根据不同任务需求优化生成结果。
- 总结
通过上述步骤,可以顺利调用Yuan2-2B-July-hf模型,并进行有效的测试。在实际应用中,建议结合具体任务需求,对生成参数进行微调,以获得最佳效果。
四、测试效果
此次发布的Yuan2-2B-July-hf 模型经过了一系列测试验证,证明其在多个关键能力上展现了卓越的性能。通过对新模型的强化,我们发现它在英文生成与推理、多编程语言支持、文档翻译等任务中都取得了显著提升。
在英文生成与推理能力方面,我们提出了一个涉及多步推理的数学问题。新模型不仅能准确理解问题,还能生成完整的解题过程,最终正确得出David拥有34颗糖果的结论。这个结果不仅体现了新模型在复杂数学推理中的优越性,更证明了其自然语言处理能力的增强。

在文档翻译任务中,新模型成功将一段包含专业术语的中文技术文档翻译为英文。翻译结果精准流畅,逻辑清晰,展现了源2.0在应对复杂文档翻译任务时的显著进步。

新模型的多编程语言支持能力也得到了全面验证。我们要求模型将Python代码转换为C、Java和C++语言的等价代码。新模型顺利完成了这一任务,生成的代码正确无误,证明了其在多编程语言支持上的出色表现。

此外,在代码生成能力测试中,模型解决了一个经典的编程问题,成功生成了符合要求的Python代码,并且得到了正确的结果。这一测试进一步展示了新模型在代码生成与算法实现中的高效性和准确性。

这些测试结果充分证明了Yuan2-2B-July-hf模型在处理复杂任务时的出色表现,进一步验证了其在实际应用中的广泛潜力和价值。
五、总结
Yuan2-2B-July-hf 版本的发布为开发者和研究人员提供了更加强大和全面的语言处理能力。新版模型不仅在文本生成和推理能力上取得了显著进步,还扩展了编程语言支持和任务处理能力,满足了更广泛的应用需求。该模型未来在各个领域的广泛应用和创新发展值得期待。
更多信息,请访问以下页面:
Yuan 2.0 Github 项目主页:https://github.com/IEIT-Yuan/Yuan-2.0
Yuan 2.0 系列模型Hugging Face主页:https://huggingface.co/IEITYuan
Yuan 2.0 系列模型Modelscope主页:https://modelscope.cn/profile/YuanLLM
相关文章:
新版本源2.0大模型发布:Yuan2-2B-July-hf
引言 近日,浪潮信息的新一代基础语言大模型源2.0 迎来了重要更新。浪潮信息正式发布了 Yuan2-2B-July-hf 模型,标志着源2.0系列模型在性能和功能上的进一步提升。这一版本将为开发者和研究人员提供更强大的工具,以满足各种语言处理需求。…...
用python生成GIF动图—用于博客插图或封面等
生成GIF动图🚀 由于目前自己是在做大模型,还有一些树莓派硬件之类的东西,一是大模型的流式输出的例子需要用到GIF,二是做单片机的时候例如一些灯的闪烁和变化需要用到,所以之前也是一直有这个打算所以就记录一下这个生…...
[RCTF2019]draw
下载是一个文本文档,百度AI cs pu lt 90 fd 500 rt 90 pd fd 100 rt 90 repeat 18[fd 5 rt 10] lt 135 fd 50 lt 135 pu bk 100 pd setcolor pick [ red orange yellow green blue violet ] repeat 18[fd 5 rt 10] rt 90 fd 60 rt 90 bk 30 rt 90 fd 60 pu lt 90 f…...
设计模式 - 责任链模式
💝💝💝首先,欢迎各位来到我的博客!本文深入理解设计模式原理、应用技巧、强调实战操作,提供代码示例和解决方案,适合有一定编程基础并希望提升设计能力的开发者,帮助读者快速掌握并灵活运用设计模式。 💝💝💝如有需要请大家订阅我的专栏【设计模式】哟!我会定…...
jpg怎么转换成pdf?6个简单方法,实现jpg转换成pdf
你是否也曾想将jpg图片转换为pdf格式文档呢?亦或者在处理文档或制作报告时,不知道怎么才能更快地将多张图片整合成一个pdf文件呢?如果你正在寻找简单快速的方法,又有哪些工具可以帮助您完成图片转pdf呢?别着急…...
ptrade排坑笔记——使用量化交易的时候有报错提示!
前言 今天要和大家分享一个遇见的问题,有客户反馈,自己在使用量化交易的时候,会有报错!会在后文分享我们是如何解决这个问腿的! 一、问题描述 客户主要遇见的问题是,量化在进行交易的过程中,…...
C#-MemoryMarshal
MemoryMarshal 类是 .NET 中用于处理内存的工具类,它提供了一组静态方法,用于在托管代码中以安全和高效的方式操作内存块。MemoryMarshal 类主要用于处理原始内存数据而不需要进行复制,这对于性能关键的操作非常有用。 MemoryMarshal 类包含…...
Java并发编程的艺术
Java作为一门面向对象的编程语言,自1995年推出以来,一直以其稳定性、跨平台性和丰富的API受到广大开发者的喜爱。在Java的发展历程中,并发编程一直是其重要的特性之一。本文将探讨Java并发编程的艺术,解析其核心概念和常用并发工具…...
华为 OLT 添加 ONU 配置 (SNMP管理模式)
上网业务数据规划 OLT PON口 0/8/0 ONU_ID 0 ONU 序列号 4857544323BE233B 外层 VLAN ID 2012 内层VLAN ID 35 用户 FE 端口 ONU 0/1/1 用户VLAN 35 DBA带宽类型 Type 2 流量模板编号 10 DBA 模板编号 30 ONU线路模板编号 40 T-CONT (网管) 0 T-CONT(业务_ 2 GEM (网管) 0 …...
【JavaScript】[]和{} 的转换
背景 ([])? true:false ({})? true:false ([] true)? true:false ({} true)? true:false ([] true)? true:false ({} true)? true:false分析 [ ]和{ } 都是复杂类型,以上都是三目运算符判断 1.判断[ ]和{ } 是否存在 声明了这些已经分配了内存…...
C#关于多线程的线程问题
using System.Text; namespace 平时练习8._19day06 {internal class Program{static async Task Main(string[] args){Console.WriteLine(Thread.CurrentThread.ManagedThreadId );StringBuilder sb new StringBuilder();for (int i 0; i < 10000; i){sb.Append("…...
eclipse打开失败 java was started but returned exit code=13
报错详细信息如下 原因:eclipse版本和jdk版本不一致。系统之前jdk是1.6,然后安装1.8之后默认修改了环境变量。导致eclipse启动失败 解决方案:修改eclipse目录下的eclipse.ini文件增加一下内容。文档说明:eclipse.ini - Eclipsepe…...
【计算机网络】应用层自定义协议与序列化
记得在上一节我们说过TCP中的读取时需要改进,这节就可以解决读取问题了。 目录 应用层再谈 "协议"网络版计算机方案一方案二 序列化 和 反序列化 重新理解 read、write、recv、send 和 tcp 为什么支持全双工 应用层 再谈 “协议” 我们在UDP与TCP中写的…...
企业级无线局域网(WLAN)架构:高效部署策略与技术指南
前言:无线网络直接影响整体网络性能,在当今企业网环境中,已有超过一半的数据流量通过无线信道传输,随着物联网技术的普及,无线网将承载更多的关键业务流量。企业/园区场景的无线网络值得考虑的关键因素有很多ÿ…...
【Python-办公自动化】1秒筛选12个月指定逻辑数值
欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…...
Linux:进程替换
什么是进程替换? 我们的可执行程序,在运行起来的时候就上一个进程 一个进程就会有他的内核数据结构代码和数据 把一个已经成型的进程的代码和数据替换掉,这就叫进程替换 也就是可以通过系统调用把当前进程替换位我们需要的进程 那么替换…...
带你认识:数据仓库宽表~~~浅显易懂
1. 构建宽表的目的 讲宽表我想从为什么需要宽表入手,而不是一上来就抠概念。因为我觉得一门知识叫什么名字并不是最核心的,关键是搞清楚它的诞生背景以及如何在特定场景用好它。 构建宽表的目的很简单,就是为了"一站式"尽可能多的展示我们需要…...
记录|MessageBox.Show()的使用
目录 前言一、解析1.1 代码1.2 具体图片解析 更新时间 前言 遇到了其他人写的MessageBox.Show()的用法,有点懵,特此记录。 一、解析 1.1 代码 MessageBox.Show("登录失败!", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.E…...
LabVIEW软件定制开发公司的前景如何?
LabVIEW软件定制开发公司的前景在当前的技术发展环境下展现出一定的潜力与挑战。这一领域的市场前景主要受到工业自动化、物联网、智能制造等技术趋势的推动,同时也受到行业竞争、技术更新以及人才市场的制约。 市场需求与增长潜力 随着工业4.0、物联网和智能制…...
vue3列表页搜索条件封装
搜索框组件 封装常用搜索框组件,类型有: input(默认值)selectselectV2 (value/label键值对数组)datePickeryear 集成新增、修改、删除、导入、导出按钮,支持slot自定义其他按钮封装搜索、重置按钮封装按钮权限封装导入弹框 本例仅…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
