全球最长上下文窗口来了!百川智能发布Baichuan2-192K大模型,上下文窗口长度高达192K(35万个汉字),是Claude 2的4.4倍,GPT-4的14倍!

长上下文窗口领域的新标杆,来了!

百川智能正式发布全球上下文窗口长度最长的大模型——Baichuan2-192K。

与以往不同的是,此次模型的上下文窗口长度高达192K,相当于约35万个汉字。

再具体点,Baichuan2-192K能够处理的汉字是GPT-4(32K上下文,实测约2.5万字)的14倍,Claude 2(100K上下文,实测约8万字)的4.4倍,可以一次性读完一本《三体》。

laude一直以来保持的上下文窗口记录,在今天被重新刷新

把三体第一部《地球往事》丢给它,Baichuan2-192K稍加咀嚼,便立刻对整个故事了如指掌。

汪淼看到的倒计时里第36张照片上的数字是多少?答:1194:16:37。 

他使用的相机是什么型号?答:徕卡M2。

他和大史一共喝过几次酒?答:两次。

Baichuan2-192K_模态

再看看第二部《黑暗森林》,Baichuan2-192K不仅一下就答出了地球三体组织建立了两个红岸基地,「水滴」是由强互作用力材料制作的。

而且,就连「三体十级学者」都未必能答上来的冷门问题,Baichuan2-192K也是对答如流,信手拈来。

谁的名字出现次数最多?答:罗辑。

Baichuan2-192K_模态_02

 可以说,当上下文窗口扩展到了35万字,大模型的使用体验,仿佛忽然打开了一个新世界!

全球最长上下文,全面领先Claude 2

大模型,会被什么卡脖子?

以ChatGPT为例,虽然能力让人惊叹,然而这个「万能」模型却有一个无法回避的掣肘——最多只支持32K tokens(2.5万汉字)的上下文。而律师、分析师等职业,在大部分的时间里需要处理比这长得多的文本。

更大的上下文窗口,可以让模型从输入中获得更丰富的语义信息,甚至直接基于全文理解进行问答和信息处理。

由此,模型不仅能更好地捕捉上下文的相关性、消除歧义,进而更加精准地生成内容,缓解「幻觉」问题,提升性能。而且,也可以在长上下文的加持下,与更多的垂直场景深度结合,真正在人们的工作、生活、学习中发挥作用。

最近,硅谷独角兽Anthropic先后获得亚马逊投资40亿、谷歌投资20亿。能获得两家巨头的青睐,当然跟Claude在长上下文能力技术上的领先不无关系。

而这次,百川智能发布的Baichuan-192K长窗口大模型,在上下文窗口长度上远远超过了Claude 2-100K,而且在文本生成质量、上下文理解、问答能力等多个维度的评测中,也取得了全面领先。

10项权威评测,拿下7个SOTA

LongEval是由加州大学伯克利分校联合其他高校发布的针对长窗口模型评测的榜单,主要衡量模型对长窗口内容的记忆和理解能力。

上下文理解方面,Baichuan2-192K在权威长窗口文本理解评测榜单LongEval上大幅领先其他模型,窗口长度超过100K后依然能够保持非常强劲的性能。

相比之下,Claude 2窗口长度超过80K后整体效果下降非常严重。

Baichuan2-192K_API_03

此外,Baichuan2-192K在Dureader、NarrativeQA、LSHT、TriviaQA等10项中英文长文本问答、摘要的评测集上表现同样优异。

其中,有7项取得了SOTA,性能显著超过其他长窗口模型。

Baichuan2-192K_模态_04

在文本生成质量方面,困惑度是一个非常重要的标准。

可以简单理解为,将符合人类自然语言习惯的高质量文档作为测试集时,模型生成测试集中文本的概率越高,模型的困惑度就越小,模型也就越好。

Baichuan2-192K_模态_05

根据DeepMind发布的「语言建模基准数据集PG-19」的测试结果,Baichuan2-192K的困惑度在初始阶段便很优秀,并且随着窗口长度扩大,Baichuan2-192K的序列建模能力也持续增强。

Baichuan2-192K_建模_06

工程算法联合优化,长度性能同步提升

虽然长上下文可以有效提升模型性能,但超长的窗口也意味着需要更强的算力,以及更多的显存。

目前,业界普遍的做法是滑动窗口、降低采样、缩小模型等等。

然而,这些方式都会在不同程度上,牺牲模型其他方面的性能。

Baichuan2-192K_人工智能_07

为了解决这一问题,Baichuan2-192K通过算法和工程的极致优化,实现了窗口长度和模型性能之间的平衡,做到了窗口长度和模型性能的同步提升。

首先,在算法方面,百川智能提出了一种针对RoPE和ALiBi动态位置编码的外推方案——能够对不同长度的ALiBi位置编码进行不同程度的Attention-mask动态内插,在保证分辨率的同时增强了模型对长序列依赖的建模能力。

其次,在工程方面,百川智能在自主开发的分布式训练框架基础上,整合了包括张量并行、流水并行、序列并行、重计算以及Offload等市面上几乎所有的先进优化技术,独创出了一套全面的4D并行分布式方案——能够根据模型具体的负载情况,自动寻找最适合的分布式策略,极大降低了长窗口训练和推理过程中的显存占用。

内测正式开启,一手体验出炉

现在,Baichuan2-192K已经正式开启内测!

百川智能的核心合作伙伴已经通过 API 调用的方式将Baichuan2-192K 接入到了自己的应用和业务当中,现在已有财经类媒体、律师事务所等机构和百川智能达成了合作。

可以想象,随着Baichuan2-192K全球领先的长上下文能力应用到传媒、金融、法律等具体场景中,无疑会给大模型落地拓展出更广阔的空间。

通过API,Baichuan2-192K能有效融入更多垂直场景,与之深度结合。

以往,巨量内容的文档,往往成为我们在工作、学习中难以跨越的大山。

而有了Baichuan2-192K,就能一次性处理和分析数百页的材料,进行关键信息的提取和分析。

无论是长文档摘要/审核,长篇文章或报告的编写,还是复杂的编程辅助,Baichuan2-192K都将提供巨大的助力。

对于基金经理,它可以帮忙总结和解释财务报表,分析公司的风险和机遇。

对于律师,它可以帮助识别多个法律文件中的风险,审核合同和法律文件。

Baichuan2-192K_建模_08

对于开发者,它可以帮忙阅读数百页的开发文档,还能回答技术问题。

而广大科研人员,从此也有了科研利器,可以快速浏览大量论文,总结最新的前沿进展。

Baichuan2-192K_API_09

除此之外,更长的上下文还蕴涵着更加巨大的潜力。

Agent、多模态应用,都是当前业内研究的前沿热点。而大模型有了更长的上下文能力,就能更好地处理和理解复杂的多模态输入,实现更好的迁移学习。

上下文长度,兵家必争之地

可以说,上下文窗口长度,是大模型的核心技术之一。

现在,许多团队都开始以「长文本输入」为起点,打造底座大模型的差异化竞争力。如果说参数量决定了大模型能做多复杂的计算,上下文窗口长度,则决定了大模型有多大「内存」。

Sam Altman就曾表示,我们本以为自己想要的是会飞的汽车,而不是140/280个字符,但实际上我们想要的是32000个token。

国内外,对扩大上下文窗口的研究和产品可谓是层出不穷。

今年5月,拥有32K上下文的GPT-4,就曾引发过激烈的讨论。

当时,已经解锁这一版本的网友大赞称,GPT-4 32K是世界上最好的产品经理。

很快,初创公司Anthropic宣布,Claude已经能够支持100K的上下文token长度,也就是大约75,000个单词。

换句话说就是,一般人用时大约5个小时读完等量内容后,还得用更多的时间去消化、记忆、分析。对于Claude,不到1分钟就搞定。

在开源社区,Meta也提出了一种可以有效扩展上下文能力的方法,能够让基础模型的上下文窗口达到32768个token,并在各种合成上下文探测、语言建模任务上都取得了显著的性能提升。

结果表明,70B参数量的模型就已经在各种长上下文任务中实现了超越gpt-3.5-turbo-16k的性能。

论文地址:https://arxiv.org/abs/2309.16039

港中文和MIT团队研究人员提出的LongLoRA方法,只需两行代码、一台8卡A100机器,便可将7B模型的文本长度拓展到100k tokens,70B模型的文本长度拓展到32k tokens。

论文地址:https://arxiv.org/abs/2309.12307

而来自DeepPavlov、AIRI、伦敦数学科学研究所的研究人员则利用循环记忆Transformer(RMT)方法,将BERT的有效上下文长度提升到「前所未有的200万tokens」,并且保持了很高的记忆检索准确性。

不过,虽然RMT可以不增加内存消耗,能够扩展到近乎无限的序列长度,但仍然存在RNN中的记忆衰减问题,并且需要更长的推理时间。

论文地址:https://arxiv.org/abs/2304.11062

目前,LLM的上下文窗口长度主要集中在4,000-100,000个token这个范围之间,并且还在持续增长。

Baichuan2-192K_建模_10

通过AI产业界和学术界对上下文窗口的多方面研究,足见其对于LLM的重要性。

而这一次,国内的大模型迎来了最长上下文窗口的历史高光时刻。

刷新行业纪录的192K上下文窗口,不仅代表着百川智能这家明星公司在大模型技术上又一次突破,也是大模型发展过程中的又一里程碑式进展。而这,必然会给产品端形态改革带来新一轮的震动。

成立于2023年4月的百川智能,用了仅仅6个月的时间,便接连发布了Baichuan-7B/13B,Baichuan2-7B/13B四款开源可免费商用大模型,以及Baichuan-53B、Baichuan2-53B两款闭源大模型。

这么算来,基本上是一月一更LLM。

现在,随着Baichuan2-192K的发布,大模型长上下文窗口技术也将全面走进中文时代!

#上面肌肉说到了大模型 下面在说一下模型下载把

如何利用huggingface的镜像网站,来解决大模型下载困难的问题。

不知道大家最近有没有这种痛苦,大模型下载太困难了。(不涉及国外的朋友们)

主要由于huggingface必须要上网才能访问,而7B规模的模型一般在14G大小左右,13B规模的模型一般在28G左右,这还是模型按照ft16或bf16存贮,如果是float32存储还需要翻一倍,流量是真的吃不消(有不限量的另说!毕竟我只有100G,下载几个就GG了...)

如何能解决上面的问题呢,具体有两个方法:

  • 用阿里的魔搭社区来下载模型,但缺点是并不是所有模型魔搭上都有
  • 找一些huggingface的镜像网站,不是所有的镜像网站模型都是全的

正好有群友搭了一个huggingface镜像网站,特此宣传一波,反正我现在使用时速度飞起(可能用的人还不是很多)。

Huggingface镜像网站:https://hf-mirror.com

对于很多人来说,在网页上点击下载是一个办法,但一个一个点会有些麻烦,因此,这里这里也介绍一下通过代码下载大模型的整体方法。

@huggingface官网下载

from huggingface_hub import snapshot_download

snapshot_download(repo_id='Qwen/Qwen-7B',
                  repo_type='model',
                  local_dir='./model_dir',
                  resume_download=True)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

其中,repo_id为huggingface模型仓库ID,repo_type仓库类型,包含model和data两种,local_dir本地保存路径,如果没有会下载到 /root/.cache/huggingface目录下,resume_download为是否断点续传。

huggingface镜像网站下载

由于snapshot_download函数中默认的下载路径为"https://huggingface.co",只需将镜像网站地址设置为" https://hf-mirror.com"即可

linux中执行

export HF_ENDPOINT=https://hf-mirror.com
  • 1.

再使用下面代码进行模型下载即可。

from huggingface_hub import snapshot_download

snapshot_download(repo_id='Qwen/Qwen-7B',
                  repo_type='model',
                  local_dir='./model_dir',
                  resume_download=True)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

PS:附上群友的Github,纯纯为爱发电。

@阿里魔搭社区下载

需要安装modelscope包。

from modelscope.hub.snapshot_download import snapshot_download

model_dir = snapshot_download('qwen/Qwen-7B', 
                              cache_dir='./model_dir', 
                              revision='master')
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

PS:其实huggingface不能访问的这一阵子,魔搭真的吃了不少流量,只希望模型可以越来越多,希望国产社区越做越好。