中文版开源Llama 2同时有了语言、多模态大模型,完全可商用

可以说,AI 初创公司 LinkSoul.Al 的这些开源项目让海外开源大模型在国内的普及和推广速度与国际几乎保持了一致。

7 月 19 日,Meta 终于发布了免费可商用版本 Llama 2,让开源大模型领域的格局发生了巨大变化。

Llama 2 模型系列包含 70 亿、130 亿和 700 亿三种参数变体,相比上一代的训练数据增加了 40%,在包括推理、编码、精通性和知识测试等许多外部基准测试中展示出了优越的表现,且支持多个语种。

美中不足的是,Llama 2 语料库仍以英文(89.7%)为主,而中文仅占据了其中的 0.13%。这导致 Llama 2 很难完成流畅、有深度的中文对话。

图片

中文版 Llama2 开源大模型创下社区「首个」

好消息是,在 Meta Al 开源 Llama 2 模型的次日,开源社区首个能下载、能运行的开源中文 LLaMA2 模型就出现了。该模型名为「Chinese Llama 2 7B」,由国内 AI 初创公司 LinkSoul.Al 推出

图片

仅仅两周时间,该项目在 Hugging Face 上收获过万次下载,并在 GitHub 上获得了 1200 Stars。

据项目介绍,Chinese-Llama-2-7b 开源的内容包括完全可商用的中文版 Llama2 模型及中英文 SFT 数据集,输入格式严格遵循 llama-2-chat 格式,兼容适配所有针对原版 llama-2-chat 模型的优化。

项目地址:

https://github.com/LinkSoul-AI/Chinese-Llama-2-7b

图片

目前,普通用户可以在线体验「Chinese Llama-2 7B Chat」。

试用地址:

https://huggingface.co/spaces/LinkSoul/Chinese-Llama-2-7b

比如你能够以英文提问,并让它用中文回答:

图片

或者直接中文对话,它也能以中文实现准确、流畅的回答:

图片

主打的就是一个中英文灵活切换:

图片

有人已上手,表示运行良好:

图片

图片

图源:https://twitter.com/roya10x7/status/1682781475458957315?s=20

语言模型之外,继续开源两个中文多模态大模型

在推出首个开源 Llama2 中文语言大模型之后,LinkSoul.AI 团队将目光投向了目前全球尚外于发展初期的语音文本多模态大模型和图文大模型,并再次率先开源了相关的模型,提供国内开发者免费下载、自由商用。

本次开源的两个中文多模态大模型,包括如下:

  • 由 LinkSoul.Al 团队牵头,北京智源人工智能研究院、北京大学、零一万物等国内头部顶尖人工智能团队通力合作的第一个支持中英双语、语音到文本的多模态开源对话模型 (LLaSM)

  • 第一个基于 Llama 2 的支持中英文双语视觉到文本的多模态模型 (Chinese-LLaVA) 

两个模型都基于 Apache-2.0 协议开源,完全可商用。

LinkSoul.Al 开发团队负责人史业民表示,「放眼全球,目前如何让『模型听世界、看世界』仍然没有可靠的开源模型可用。我们希望能够尽微薄之力,让中国大模型生态距离国际领先标准再近一些。」

语音到文本多模态开源对话模型 (LLaSM)

LinkSoul.AI 开源了可商用的中英文双语语音 - 语言助手 LLaSM 以及中英文语音 SFT 数据集 LLaSM-Audio-Instructions。LLaSM 是首个支持中英文语音 - 文本多模态对话的开源可商用对话模型。

相较以往的传统方案,LLaSM 能够通过便捷的语音输入的交互方式,大幅改善过往以文本为输入的大模型的使用体验,同时有效避免基于 ASR 解决方案的繁琐流程以及可能引入的错误。

图片

  项目地址:https://github.com/LinkSoul-AI/LLaSM

  数据集: https://huggingface.co/datasets/LinkSoul/LLaSM-Audio-Instructions

下面是 LLaSM 的一个语音 - 文本对话示例。

图片

LLaSM 也有相应的文献介绍。

图片

模型、代码和数据地址:

https://huggingface.co/spaces/LinkSoul/LLaSM

图像到文本多模态开源对话模型 (Chinese LLaVA)

LinkSoul.AI 开源了可商用的中英文双语视觉 - 语言助手 Chinese-LLaVA 以及中英文视觉 SFT 数据集 Chinese-LLaVA-Vision-Instructions,支持中英文视觉 - 文本多模态对话的开源可商用对话模型。

图片

  项目地址:https://github.com/LinkSoul-AI/Chinese-LLaVA

  数据集: https://huggingface.co/datasets/LinkSoul/Chinese-LLaVA-Vision-Instructions

下面是 Chinese LLaVA 的一个视觉 - 文本对话示例。

图片

  模型、代码和数据地址:

https://huggingface.co/spaces/LinkSoul/Chinese-LLaVa

多模态模型统一架构解读

大语言模型在很多方面展现了强大的能力,也在一定程度上让人们看到了实现通用人工智能(AGI)的希望。多模态模型提供了不同模态之间信息交互的渠道,使得视觉信息、语音信息等能和文本语义信息互为补充,让大语言模型能听到世界、看到世界,从而向 GI 又前进一步。

因此,训练多模态模型的重点是如何融合互补不同模态间的信息,并充分利用现有大语言模型能力。LinkSoul.AI 开源的语音 - 语言多模态模型和视觉 - 语言多模态模型统一采用下图所示框架

图片

首先通过模态编码器编码不同模态数据特征,紧接着在多模态特征对齐的预训练阶段学习模态适配器(Adaptor),将不同模态的输入特征与大语言模型对齐。

然后在端到端的有监督微调(SFT)阶段使用不同模态的指令数据集对模态适配器和大语言模型进行微调。在有监督微调阶段,同时使用跨模态(cross-modal)指令数据和仅文本(text-only)指令数据进行多任务训练。LinkSoul.AI 团队认为多任务训练有助于避免模型产生模态依赖和偏见,并且可以自然地用一个模型实现多种模态。

LinkSoul.AI 团队接下来的工作会把语音 - 视觉 - 文本进一步融合,让大语言模型同时支持语音和视觉模态。

预训练阶段

预训练阶段将模态编码器和大语言模型参数都冻结,使用跨模态的语音 / 视觉 - 文本对进行 Adaptor 的训练,优化目标为对输入的指令(instructions)生成相应的回复(responses)。

具体来讲,对于语音模态,采用 Whisper 作为特征编码器,冻结 Whisper [5] 并提取音频输入的特征。使用公开的中英文自动语音识别(ASR)数据集 Aishell [1]、 LibriSpeech [2]、Magicdata [3] 和 Primewords [4]。

对每个数据样本(audio、text_label)依据对应语言随机从预训练语音指令表(见第三节数据部分)中选取一个指令,组成(audio,instruct,text_label)格式的数据,并在训练过程中预测 text_label。

对于视觉模态,采用 CLIP [6] 作为图片特征提取器,并使用 mBART [8] 对 LLaVA [7] 开源的视觉预训练数据进行翻译汉化,生成中文图片文本对。在预训练阶段同时使用中英文数据进行训练,从而让模型更好的支持中文。

有监督微调

预训练阶段将不同模态的特征和大语言模型对齐,有监督微调阶段则仅冻结模态编码器权重,将模态适配器和大语言模型参数打开,使用跨模态指令数据进行微调。

针对目前几乎没有公开语音多模态指令数据这一问题,基于公开数据集 WizardLM [9]、ShareGPT [10]、GPT-4-LLM [11] 构造语音 - 文本多模态指令数据集 LLaSM-Audio-Instructions。以语音输入作为指令,并预测对应的文本输出。

对于视觉模态,同样先通过 mBART [8] 对 LLaVA [7] 开源的视觉指令数据集进行翻译汉化,生成中文的视觉指令数据集,然后类似地进行训练。

数据集

模态转换预训练数据集

先来看 Audio。语音多模态预训练数据集采用公开中英文自动语音识别(ASR)数据集 Aishell [1]、LibriSpeech [2]、Magicdata [3] 和 Primewords [4]。

同时构造如下指令集,对每个(audio、text_label)样本依据对应语言随机选择一条指令构造数据样本(instruction、audio、text_label)。

图片

表 1:英文简单指令集

图片

表 2:中文简单指令集

然后是 Vision。对于视觉模态,采用 LLaVA [7] 开源的视觉预训练数据,通过 mBART [8] 翻译进行汉化,生成中文图片文本对,以提升模型的中文能力。

指令微调数据集

同样先来看 Audio。在构建音频数据集的过程中,首先仔细过滤所有对话数据,通过删除那些不适合发声的对话,包括代码、符号、URL 和其他不可读的文本。然后,为确保数据质量,每轮对话中聊天机器人的答案再次被过滤,那些不包含有价值信息的内容将被丢弃。最后,使用 Microsoft Azure [12] 语音合成 API 来生成语音数据。

然后是 Vision。对于视觉模态,采用 LLaVA [7] 开源的视觉指令数据集,通过 mBART [8] 进行汉化,生成中文多模态指令数据,使得模型能够具有中文视觉指令执行能力。

为了便于开源社区快速感受多模态大模型的能力,以及共同推进多模态大模型的研究进展,训练用到的数据在项目中开源,并提供 Hugging Face 仓库下载。

对于 LinkSoul.AI 团队而言,这两个开源可商用的多模态大模型不仅为大模型生态带来了语音和视觉多模态能力,也在大模型多语言方面做出了贡献。

此外在商用场景上,该团队推出的模型都允许完全免费商用,这对于国内个人开发者和初创公司也具有非凡的价值。

参考文献:

[1] Aishell: https://www.openslr.org/33/

[2] LibriSpeech: https://huggingface.co/datasets/librispeech_asr

[3] Magicdata: https://openslr.org/68/

[4] Primewords: https://openslr.org/47/

[5] Whisper: https://huggingface.co/openai/whisper-large-v2

[6] CLIP: https://huggingface.co/openai/clip-vit-large-patch14

[7] LLaVA: https://llava-vl.github.io/

[8] mBART: https://arxiv.org/pdf/2001.08210.pdf, https://huggingface.co/facebook/mbart-large-50-one-to-many-mmt

[9] WizardLM: https://github.com/nlpxucan/WizardLM 

[10] ShareGPT: https://sharegpt.com/

[11] GPT-4-LLM: https://arxiv.org/abs/2304.03277

[12] Microsoft Azure 语音合成 API:https://azure.microsoft.com/en-us/products/ai-services/ai-speech

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/63310.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小研究 - MySQL 分区分表的设计及实(一)

随着信息技术的快速发展,数据量越来越大,海量的表查询操作需要消耗大量的时间,成为影响数据库访问性能提高的主要因素。为了提升数据库操作的查询效率和用户体验,在关系型数据库管理系统(MySQL)中通过 range 分区和 Merge 存储&am…

sql 关联了2张表的 update 语句(转)

转自:SQL Update:使用一个表的数据更新另一张表 、update 关联两个表 基本上 select 能支持的关联和子查询操作,都能在 update 语句中使用。 在 where 条件中使用子查询 update a set a.age 1 where id in (select device_id from b) 在 wher…

【VUE】前端实现防篡改的水印

效果 水印的作用 图片加水印的操作一般是由后端来完成,有些站点保护的知识产权的类型可能比较多,不仅仅是图片,可能还有视频、文字等等,对于不同类型的对象添加水印后端操作比较复杂,所有有些站点逐步的让前端去进行水…

Java 集合框架

Java 集合框架提供了一组接口和类,以实现各种数据结构和算法。 集合框架满足以下几个要求。 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。 该框架允许不同类型的集合…

心跳跟随的心形灯(STM32(HAL)+WS2812+MAX30102)

文章目录 前言介绍系统框架原项目地址本项目开发开源地址硬件PCB软件功能 详细内容硬件外壳制作WS2812级联及控制MAX30102血氧传感器0.96OLEDFreeRTOS 效果视频总结 前言 在好几年前,我好像就看到了焊武帝 jiripraus在纪念结婚五周年时,制作的一个心跳跟…

【面试题】 本地运行的前端代码,如何让他人访问?

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 有时候,我前端写好了项目,想要给其他人看一下效果,可以选择将代码部署到test环境,也可以选择让外部通过i…

RabbitMQ的6种工作模式

RabbitMQ的6种工作模式 官方文档: http://www.rabbitmq.com/ https://www.rabbitmq.com/getstarted.html RabbitMQ 常见的 6 种工作模式: 1、simple简单模式 1)、消息产生后将消息放入队列。 2)、消息的消费者监听消息队列,如果队列中…

rust-异步学习

rust获取future中的结果 两种主要的方法使用 async: async fn 和 async 块 async 体以及其他 future 类型是惰性的:除非它们运行起来,否则它们什么都不做。 运行 Future 最常见的方法是 .await 它。 当 .await 在 Future 上调用时,它会尝试把…

测试岗?从功能测试进阶自动化测试开发,测试之路不迷茫...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试新人在想什么…

GD32F103VET输出PWM波形

GD32F103VET将TIMER0_CH3映射到PE14引脚,使其输出PWM波形。测试时,使用示波器看PE14引脚输出的波形,效果更直观。 TIMER0之PWM输出引脚映射如下: TIMER0_REMAP[1:0]"00"(没有映射): TIMER0_CH0默认被映射到PA8引脚 TIMER0_CH1默认…

【51单片机】晨启科技,酷黑版,音乐播放器

四、音乐播放器 任务要求: 设计制作一个简易音乐播放器(通过手柄板上的蜂鸣器发声,播放2到4首音乐),同时LED模块闪烁,给人视、听觉美的感受。 评分细则: 按下播放按键A6开始播放音乐&#xff0…

243. 一个简单的整数问题2(树状数组)

输入样例: 10 5 1 2 3 4 5 6 7 8 9 10 Q 4 4 Q 1 10 Q 2 4 C 3 6 3 Q 2 4输出样例: 4 55 9 15 解析: 一般树状数组都是单点修改、区间查询或者单点查询、区间修改。这道题都是区间操作。 1. 区间修改用数组数组维护差分数组 2. 区间查询&am…

Spring事务(声明式事务)(Spring的事务,Spring隔离级别,事务传播机制)

目录 一、什么是事务,为什么要用事务 二、Spring声明式事务 🍅 1、Transactional的使用 🎈 事务回滚 🎈注意:异常被捕获,不会发生事务回滚 🍅 2、Transactional 作⽤范围 🍅 …

跨隔离网文件交换,IT部门和业务部门难以兼顾怎么办?

网络隔离技术作为有效的网络安全和数据安全的管理手段,现在已经被充分运用在企业网络建设中。但企业进行网络隔离是基于安全考虑,被隔离的网络间的数据交换需求不会因网络隔离而消失,因此,企业就需要进行隔离网间的数据和文件交换…

element表格+表单+表单验证结合运用

目录​​​​​​​ 一、结果展示 二、实现代码 一、结果展示 1、图片 2、描述 table中放form表单,放输入框或下拉框或多选框等; 点击添加按钮,首先验证表单,如果存在没填的就验证提醒,都填了就向下添加一行表单表…

力扣:54. 螺旋矩阵(Python3)

题目: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 来源:力扣(LeetCode) 链接:力扣 示例: 示例 1: 输入:matrix [[1,…

过滤器和拦截器的六大区别

平时觉得简单的知识点,但通常都不会太关注细节,一旦被别人问起来,反倒说不出个所以然来。真的就是一看就会一说就废。下面带大家一起结合实践来区分过滤器和拦截器吧~ 通俗理解: (1)过滤器(Fil…

vue-cli

vue-cli脚手架 案例一: 案例二: 案例三: ​ 一、脚手架简介 Vue脚手架是Vue官方提供的标准化开发工具(开发平台),它提供命令行和UI界面,方便创建vue工程、配置第三方依赖、编译vue工程 1. …

2023年华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响

# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情…

Centos更换网卡名称为eth0

Centos更换网卡名称为eth0 已安装好系统后需要修改网卡名称为eth0 编辑配置文件将ens33信息替换为eth0,可在vim命令模式输入%s/ens33/eth0/g替换相关内容 修改内核文件,添加内容:net.ifnames=0 biosdevname=0 [root@nova3 ~]# vim /etc/default/grub 使用命令重新生成g…