LLMs之Falcon 180B:Falcon 180B的简介、安装、使用方法之详细攻略

news2024/11/26 0:53:16

LLMs之Falcon 180B:Falcon 180B的简介、安装、使用方法之详细攻略

导读:Falcon-180B是一个由TII发布的模型,它是Falcon系列的升级版本,是一个参数规模庞大、性能优越的开放语言模型,适用于各种自然语言处理任务,可以通过Hugging Face生态系统方便地使用和探索。以下是Falcon-180B的所有特点总结:
Falcon-180B = 拥有180B+3.5T的tokens+4096个GPU+700万个GPU小时
>>参数规模:Falcon-180B是当前最大的开放模型之一,具有1800亿个参数。它是迄今为止最大的公开可用语言模型。
>>训练数据:Falcon-180B使用TII的RefinedWeb数据集,经过大规模的预训练,共使用了3.5万亿个标记。其中85%的数据源自RefinedWeb,其余数据来自对话、技术论文和少量代码等多种数据。
>>训练方法:Falcon-180B的训练过程使用了4096个GPU,并在Amazon SageMaker上进行,总共耗时约700万个GPU小时。相比Llama 2,Falcon-180B的规模扩大了2.5倍,并使用了4倍的计算资源。
>>性能表现:Falcon-180B在自然语言任务中取得了最先进的结果。它在(pre-trained)开放模型中排名第一,并与PaLM-2 Large等专有模型相媲美。根据评估基准的不同,Falcon-180B的表现介于GPT 3.5和GPT4之间
>>适用范围:Falcon-180B可用于商业用途,但有一些限制条件,不包括"hosting use"。对于商业目的的使用,建议查阅许可证并咨询您的法律团队。

目录

Falcon 180B的简介

1、Falcon 180B的优势:与谷歌PaLM 2相媲美,性能略低于GPT4

2、开放LLM排行榜

3、评价褒贬不一

Falcon 180B的安装

1、硬件要求

2、环境要求:Transformers 、bitsandbytes等

4、下载模型

5、在bfloat16中使用基础模型的示例

6、提示格式

7、聊天模型

Falcon 180B的使用方法

1、如何在线使用Falcon 180B?


Falcon 180B的简介

Falcon 180B是由TII发布的一款模型,它延续了Falcon系列的先前版本。从架构上看,Falcon 180B是Falcon 40B的一个放大版本,并建立在其创新之上,例如MQA多查询注意力以提高可扩展性。Falcon 180B在多达4096个GPU上同时训练,使用Amazon SageMaker进行训练,总共使用了约7,000,000个GPU小时(约71天),训练了3.5万亿个标记。这意味着Falcon 180B是Llama 2的2.5倍,并且使用了4倍的计算资源

Falcon 180B的数据集主要包括来自RefinedWeb的网络数据(约85%)。此外,它还经过了一些策划数据的训练,如对话、技术论文和少量代码(约3%)。这个预训练数据集足够大,以至于即使3.5万亿个标记也不到一个epoch。发布的聊天模型是在聊天和指令数据集上进行微调的,其中包含几个大规模的对话数据集的混合。

商业用途:Falcon 180B可以用于商业用途,但在非常限制的条件下,不包括任何“托管使用”。如果您有兴趣以商业目的使用它,我们建议查阅许可证并咨询您的法律团队。

地址

HuggingFace官网:https://huggingface.co/blog/falcon-180b

GitHub官网:https://github.com/huggingface/blog/blob/main/falcon-180b.md

时间

2023年9月6日

作者

TII

阿布扎比的全球领先技术研究中心

1、Falcon 180B的优势:与谷歌PaLM 2相媲美性能略低于GPT4

Falcon 180B是迄今为止最好的公开发布的LLM,在MMLU上表现优于Llama 2 70B和OpenAI的GPT-3.5,并且在HellaSwag、LAMBADA、WebQuestions、Winogrande、PIQA、ARC、BoolQ、CB、COPA、RTE、WiC、WSC、ReCoRD等方面与Google的PaLM 2-Large相媲美。根据评估基准,Falcon 180B通常介于GPT 3.5和GPT4之间,社区的进一步微调将会非常有趣,因为它现在是公开发布的。

2、开放LLM排行榜

在Hugging Face排行榜上,Falcon 180B以68.74分位居公开发布的预训练LLM中最高分,超过了Meta的LLaMA 2(67.35分)。

量化的Falcon模型在各项基准测试中保持了类似的指标。在评估torch.float16、8位和4位时,结果相似。请参阅Open LLM Leaderboard中的结果。

3、评价褒贬不一

@Rohan Paul:绝对令人难以置信... 超过了GPT-3.5,并且与Google的PaLM-2 Large媲美。改变游戏规则������
@Nate Klingenstein:我感谢您承担了竞争Meta AI塑造开放式权重LLM未来的责任。这真的令人兴奋,也许随着时间的推移,这将成为许多商业部署的支柱。我将尝试在这里实现这一目标。
@rjpalacio:比gpt-3.5多的参数,仍然无法击败llama 2
@Anupama Varma Chand:恭喜,TII,为阿联酋提供了强大的AI模型!

@Jim Fan(英伟达高级科学家)质疑:没有编码就不能声称“比GPT-3.5更好”或“接近GPT-4”
恭喜@TIIuae释放猎Falcon 180B !我为每一位OSS的LLMs喝彩。
虽然我不明白为什么代码只占训练组合的5%。这是迄今为止最有用的数据,可以促进推理,掌握工具的使用,并为人工智能代理提供动力。事实上,GPT-3.5是在Codex基础上进行微调的。
我没有看到任何编码基准数字。从有限的代码预训练来看,我认为它并不擅长于此。
没有编码就不能声称“比GPT-3.5更好”或“接近GPT-4”。它应该是预训练配方中不可或缺的一部分,而不是事后的微调。
此外,现在是时候转移到混合专家(MoE)的模型在30B+容量。到目前为止,我们只看到了OSS MoE LLM < 10B。是时候大规模扩大规模了。

Falcon 180B的安装

1、硬件要求

我们对用于不同用途运行模型所需的硬件进行了多次测试。这些不是最低要求,但是是我们能够获得的配置的最低要求

2、环境要求:Transformers 、bitsandbytes等

Transformers

Falcon 180B在Hugging Face生态系统中可用,从Transformers版本4.33开始提供。

随着Transformers 4.33的发布,您可以使用Falcon 180B并利用HF生态系统中的所有工具,例如:

>>训练和推理脚本和示例

>>安全文件格式(safetensors)

>>与工具的集成,如bitsandbytes(4位量化),PEFT(参数高效微调)和GPTQ

>>辅助生成(也称为“猜测解码”)

>>用于更大上下文长度的RoPE扩展支持

>>丰富且强大的生成参数

使用该模型需要您接受其许可证和使用条款。请确保您已登录到您的Hugging Face帐户,并确保您安装了最新版本的transformers:

pip install --upgrade transformers

huggingface-cli login

bitsandbytes

使用bitsandbytes的8位和4位

Falcon 180B的8位和4位量化版本在与bfloat16参考相比的评估中几乎没有差异!这对于推理来说是非常好的消息,因为您可以放心使用量化版本以减少硬件要求。不过,请注意,8位推理比在4位中运行模型要快得多。

要使用量化,您需要安装bitsandbytes库,并在加载模型时简单地启用相应的标志:

model = AutoModelForCausalLM.from_pretrained(

    model_id,

    torch_dtype=torch.bfloat16,

    load_in_8bit=True,

    device_map="auto",

)

4、下载模型

地址:https://huggingface.co/tiiuae/falcon-180B

5、在bfloat16中使用基础模型的示例

bfloat16

这是如何在bfloat16中使用基础模型的示例。Falcon 180B是一个庞大的模型,因此请考虑上面表格中总结的硬件要求。

from transformers import AutoTokenizer, AutoModelForCausalLM

import transformers

import torch

model_id = "tiiuae/falcon-180B"

tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(

    model_id,

    torch_dtype=torch.bfloat16,

    device_map="auto",

)

prompt = "My name is Pedro, I live in"

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

output = model.generate(

    input_ids=inputs["input_ids"],

    attention_mask=inputs["attention_mask"],

    do_sample=True,

    temperature=0.6,

    top_p=0.9,

    max_new_tokens=50,

)

output = output[0].to("cpu")

print(tokenizer.decode(output)

这可能会产生类似以下的输出:

My name is Pedro, I live in Portugal and I am 25 years old. I am a graphic designer, but I am also passionate about photography and video.

I love to travel and I am always looking for new adventures. I love to meet new people and explore new places.

6、提示格式

基础模型没有提示格式。请记住,它不是一个会话模型或受过指导的模型,因此不要期望它生成会话响应 - 预训练模型是进一步微调的良好平台,但您可能不应该直接使用它。聊天模型具有非常简单的对话结构。

System:在这里添加可选的系统提示

User:这是用户输入

Falcon:这是模型生成的内容

User:这可能是第二轮输入

Falcon:等等

7、聊天模型

聊天模型

如上所述,为了进行聊天式推理,模型经过微调以遵循对话的版本使用了一个非常简单的训练模板。为了参考,您可以查看Chat演示中的format_prompt函数,它如下所示:

def format_prompt(message, history, system_prompt):

prompt = ""

if system_prompt:

prompt += f"System: {system_prompt}\n"

for user_prompt, bot_response in history:

prompt += f"User: {user_prompt}\n"

prompt += f"Falcon: {bot_response}\n"

prompt += f"User: {message}\nFalcon:"

return prompt

正如您所见,用户的互动和模型的响应都以User:和Falcon:分隔符开头。我们将它们连接在一起,形成一个包含整个对话历史的提示。我们可以提供一个系统提示来调整生成样式。

Falcon 180B的使用方法

1、如何在线使用Falcon 180B?

您可以轻松在此空间或下面嵌入的游乐场中尝试Big Falcon模型(1800亿参数!)

与Falcon-180B-Chat交谈,头脑风暴想法,讨论您的假期计划等等!

✨ 这个演示由Falcon-180B提供支持,并在Ultrachat、Platypus和Airoboros的混合数据上进行了微调。Falcon-180B是由阿布扎比技术创新研究院(Technology Innovation Institute)开发的最先进的大型语言模型。它经过了3.5万亿令牌的训练(包括RefinedWeb数据),并在Falcon-180B TII许可下提供。它目前在���开放LLM排行榜上以预训练模型的身份获得���第一名。

��� 这只是一个初步的实验预览:我们打算在未来提供更具能力的Falcon版本,基于改进的数据集和RLHF/RLAIF。

��� 了解有关Falcon LLM的更多信息:falconllm.tii.ae

➡️️ 预期用途:此演示旨在展示Falcon-180B的早期微调,以说明在对话和指令数据集上微调的影响(以及限制)。我们鼓励社区在基础模型的基础上进一步构建,并创建更好的指导/聊天版本!

⚠️ 限制:该模型可以生成事实上不正确的信息,产生幻觉的事实和行为。由于它没有经过高级调整/对齐,因此它可以生成有问题的输出,尤其是在提示的情况下。最后,此演示仅限于约1,000个字的会话长度。

测试地址:https://huggingface.co/spaces/tiiuae/falcon-180b-demo
测试地址02:https://huggingface.co/blog/falcon-180b

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Net跨平台UI框架Avalonia入门-样式详解

设计器的使用 设计器预览 在window和usercontrol中&#xff0c;在代码中修改了控件&#xff0c;代码正确情况下&#xff0c;设计器中就可以实时看到变化&#xff0c;但是在样式&#xff08;Styles&#xff09;文件中&#xff0c;无法直接看到&#xff0c;需要使用设计器预览D…

uni-app 前面项目(vue)部署到本地win系统Nginx上

若依移动端的项目&#xff1a;整合了uview开源ui框架&#xff0c; 配置后端请求接口基本路径地址&#xff1a; 打包复现到nginx下&#xff1a; 安装个稳定版本的&#xff1a;nginx-1.24.0 部署配置&#xff1a; 增加了网站&#xff1a;8083端口的&#xff0c; 网站目录在ngi…

Reactor

1.epoll底层工作原理 creat: 红黑树 就绪队列 回调机制 control: 用户告诉内核做什么事情&#xff0c;就是操作红黑树 wait: 操作就绪队列 2.LT ET模式 3.Reactor 4.前摄式

懒汉式逆向APK

作者&#xff1a;果然翁 通过各方神仙文档,以及多天调试,整理了这篇极简反编译apk的文档(没几个字,吧).轻轻松松对一个apk(没壳的)进行逆向分析以及调试.其实主要就是4个命令. 准备 下载apktool &#xff1a;https://ibotpeaches.github.io/Apktool/install/下载Android SDK …

被问到: http 协议和 https 协议的区别怎么办?别慌,这篇文章给你答案

前言 作为软件测试师&#xff0c;大家都知道一些常用的网络协议是我们必须要了解和掌握的&#xff0c;比如 HTTP 协议&#xff0c;HTTPS 协议就是两个使用非常广泛的协议&#xff0c;所以也是面试官问的面试的时候问的比较多的两个协议&#xff1b;因为这两个协议有相似和关联的…

CSP 202209-1 如此编码

答题 题目就是字多 #include<iostream>using namespace std;int main() {int n,m;cin>>n>>m;int a[n],c[n1];c[0]1;for(int i0;i<n;i){cin>>a[i];c[i1]c[i]*a[i];}for(int i0;i<n;i){cout<<(m%c[i1]-m%c[i])/c[i]<< ;} }

基于 Flink CDC 高效构建入湖通道

摘要&#xff1a;本文整理自阿里云 Flink 数据通道负责人、Flink CDC 开源社区负责人&#xff0c; Apache Flink PMC Member & Committer 徐榜江&#xff08;雪尽&#xff09;&#xff0c;在 Streaming Lakehouse Meetup 的分享。内容主要分为四个部分&#xff1a; 1. Flin…

2.4 选择结构语句

选择结构语句根据是否满足某个条件确定执行哪些操作&#xff0c;分为if条件语句和switch条件语句。 1. 单分支if语句 &#xff08;1&#xff09;if语句是指如果满足某种条件&#xff0c;就进行某种处理&#xff0c;格式如下。 if(条件) {// 执行语句 } 根据上述格式中&…

有限状态机的概念

一、有限状态机的概念 有限状态机简称状态机&#xff0c;是表示有限个状态&#xff0c;以及在状态之间的转移和动作等行为的数学模型。状态机的要素有状态和状态转移两个。 在Unity中&#xff0c;动画状态机最重要的属性就是节点和连线&#xff0c;其中每个节点都是一个动画片…

zotero的使用教程

1. zotero安装 1.1 下载 官网下载地址:Zotero 1.2 安装 建议自定义安装路径,不要安装在C盘。如以下步骤: 2. 插件安装 一般安装以下四种插件,即茉莉花(Jasminum)、zotfile、zotero-scihub、zotero-pdf-translate。以安装茉莉花插件为例进行说明,如图1所示,其余插件安…

Linux mac Windows三系统 局域网文件共享方法

主要工具&#xff1a; Samba是一个开源的软件套件&#xff0c;允许Linux系统与Windows系统之间共享文件和打印机。 一、首先是Linux共享的设置 ①安装 sudo apt-get install samba ②创建共享文件夹 sudo mkdir /home/share ③配置用户 sudo smbpasswd -a kequan ④修改…

软件测评的必要性,第三方软件测试机构推荐

软件测评报告 1、什么是软件测评报告&#xff1f; 测试报告是指把测试的过程和结果写成文档&#xff0c;对发现的问题和缺陷进行分析&#xff0c;为纠正软件的存在的质量问题提供依据&#xff0c;同时为软件验收和交付打下基础。 2、软件测评报告的作用 一份详细的测试报告…

git打tag和版本控制规范

我们在开发中经常会遇到要打tag的情况&#xff0c;但这个tag应该如何打呢&#xff1f;我不知道大家平时是怎么打的&#xff0c;但我基本就是从1.0.0开始进行往上递增&#xff0c;至于如何递增&#xff0c;基本凭感觉。今天同事新打了一个tag进行发版&#xff0c;然后被架构点名…

计算机竞赛 基于深度学习的视频多目标跟踪实现

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的视频多目标跟踪实现 …

AJAX学习总结+Axios异步框架+Filter拦截器学习+JSON介绍+Listener监听器介绍

壹、AJAX 一、AJAX介绍 AJAX&#xff08;Asynchronous JavaScript And XML&#xff09;&#xff1a;异步的JavaScript和XML AJAX作用&#xff1a; 1. 与服务器进行数据交换&#xff1a;通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据。&#xff08;原先…

过于依赖性的危机:探索品牌代理商背后的实质含义

据IDC中国报道称&#xff1a;2023年中国低代码与零代码软件市场规模将达到34.7亿元人民币&#xff0c;同比增长32.4%。预计到2027年市场规模将达到106.3亿元人民币&#xff0c;未来5年市场年复合增长率&#xff08;CAGR&#xff09;为32.3%。 随低代码市场规模不断扩大&#xf…

【计算机网络】 确认应答机制与超时重传

文章目录 ACK机制——确认应答机制超时重传 ACK机制——确认应答机制 当我们客户端发送了一个数据&#xff0c;seq是1100&#xff0c;那么服务端在收到时就会回一个ack101的ACK包&#xff0c;代表101之前的包我都收到了&#xff0c;下面请你从101继续发送。然后客户端就会发送1…

无涯教程-JavaScript - IMARGUMENT函数

描述 IMARGUMENT函数返回参数$\theta $(theta),以弧度表示的Angular,如- $$x yi \left | x yi \right | e ^ {i \theta} \left | x yi \right |(\cos \theta \sin \theta)$$ 语法 IMARGUMENT (inumber)争论 Argument描述Required/OptionalInumberA complex number f…

【C++基础】7. 控制语句

文章目录 【 1. 循环 】1.1 循环类型1.2 循环控制语句break 语句continue 语句goto 语句 1.3 无限循环 【 2. 选择 】switch 语句&#xff1f;&#xff1a;语句 【 1. 循环 】 1.1 循环类型 循环类型描述while 循环当给定条件为真时&#xff0c;重复语句或语句组。它会在执行…

floodfill算法(洪水灌溉算法)

一)floodfill算法简介: 二)图像渲染 733. 图像渲染 - 力扣&#xff08;LeetCode&#xff09; class Solution {int[] dx {1, 0, 0, -1};int[] dy {0, 1, -1, 0};//上下搜索的时候要使用向量数组int row0;int col0;int target0;public void dfs(int[][] image,int i,int j,int…