6行代码就能在Mac上跑LLaMa2模型

TLDR

只需要以下6行代码就能直接在本地运行属于你自己的LLaMa2 大模型。注意,需要M1或者以上芯片

1
2
3
4
5
6
xcode-select --install # 确保你下载了Git和C/C++
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
curl -L https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/resolve/main/llama-2-7b-chat.ggmlv3.q4_K_M.bin --output ./models/llama-2-7b-chat.ggmlv3.q4_K_M.bin
LLAMA_METAL=1 make
./main -m ./models/llama-2-7b-chat.ggmlv3.q4_K_M.bin -n 1024 -ngl 1 -p "Give me a list of things to do in BeiJing"

注意:HuggingFace可能有权限要求,直接执行会403,可以在网页端登录,到这个链接直接把模型下载下来放到 刚刚Clone的 llama.cpp 目录下的models目录里面。

原因

LLaMa2本身的模型不支持直接在Window或者Mac机器上调用,只能在Linux系统,支持N卡。

我们可以基于llama.cpp开源项目来Mac本地运行Llama 2。它从TheBloke的huggingface仓库下载Llama 7B Chat的4位优化权重,将其放入llama.cpp的模型目录中,然后使用Apple的Metal优化器来构建llama.cpp项目。

LLaMa-Chat-7B的权重应该可以在拥有8GB RAM的机器上运行(但如果你有16GB的RAM会更好)。像13B或70B这样的更大模型将需要更多的RAM。

Llama 2的非聊天权重也可以在这里找到,但是如果你想要一个更简单的聊天界面,那么更推荐使用聊天权重。

效果

  • 能够理解中文,但只能用英文回答

中文回答

  • 强制要求它用中文回答,可以输出中文,但是好像温度有点高,给生成了相关内容。(产生幻觉了)

翻译

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

GPT成功背后的秘密--向量数据库简介

向量数据库

介绍

互联网上复杂的非结构化数据正在以惊人的速度增长,比如文档、图像、视频和普通文本等形式。许多公司、组织将受益于存储和分析复杂数据,但传统数据库针对结构化数据建立,处理非结构化数据可能会很困难。如果仅通过关键词分析、数据分类可能不足以完全表示挖掘和学习到这些数据所蕴含的知识。

幸运的是,机器学习里面有一种技术叫做:向量嵌入(vector embeddings)。向量嵌入将复杂数据对象转换为在数百或数千个不同维度的数值。(简单理解为大矩阵)。目前有许多技术用于构建向量嵌入,存在一些现有的公共模型,它们具有高性能并且易于使用。

向量数据库需要专门设计处理向量嵌入的独特结构,通过比较值并找到彼此最相似的向量来索引向量,以便进行易于搜索和检索。实现的技术难度比较高,到目前为止,矢量数据库只有少数拥有大量开发和管理资源的技术巨头才能使用。

什么是向量嵌入(vector embeedings)

向量嵌入(vector embedding)是一种将非数值的词语或符号编码成数值向量的技术。它是自然语言处理(NLP)和深度学习中常用的预处理技术。

通常,向量嵌入是通过一个神经网络来学习的,该网络接收文本中的词语作为输入,并输出一个对应的词向量,其中词向量是一个数值向量,每个数值代表词语的某个特征。

例如,通过向量嵌入,我们可以将词语”dog”和”cat”表示为两个不同的数值向量,并可以通过计算两个向量的距离来判断它们的相似度。
vector embedding

如果发现通过向量映射还不好理解的话,把词向量在高维空间的嵌入投影,可视化出来就能很轻松得搞明白。词义相近的词组,会在高维空间上”距离“更近。(非常重要的理论基础)

什么是向量数据库

向量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。每个向量都有一定数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。向量数据库同时具有CRUD操作、元数据过滤和水平扩展等功能。

向量通常是通过对原始数据(例如文本、图像、音频、视频等)应用某种变换或嵌入函数来生成的。嵌入函数可以基于各种方法,例如机器学习模型、词嵌入、特征提取算法。

向量数据库的主要优点是它允许根据向量距离或相似性对数据进行快速准确的相似性搜索和检索。这意味着您可以使用向量数据库根据语义或上下文含义查找最相似或相关的数据,而不是使用基于精确匹配或预定义标准查询数据库的传统方法。

它们将向量嵌入组织在一起,使我们能够比较任何向量与搜索查询的向量或其他向量之间的相似度。它们也可以执行CRUD操作和元数据过滤。将传统数据库功能与搜索和比较向量的能力相结合,使得向量数据库成为强大的工具。它们在相似度搜索方面表现出色,或称为“向量搜索”。

通过向量搜索,用户可以描述他们想要找到什么,而不必知道存储对象所归属的关键字或元数据分类。同时,向量搜索还可以返回类似或近邻匹配的结果,提供了更全面的结果列表,否则这些结果可能会被隐藏起来。

向量数据库能干什么?

让我们来看一些向量搜索的常见用例:

1. 语义搜索

文本搜索通常有两种方式:词法搜索和语义搜索。词法搜索是基于模式寻找精确单词或字符串匹配,就是平时我们常说的关键字匹配。语义搜索则将搜索查询或问题的含义放入上下文中,以理解文本的含义和上下文,并获得更准确和相关的搜索结果。
向量数据库,存储和索引自然语言处理模型中的向量嵌入,以更好地理解文本字符串、句子和整个文档。使用语义搜索可以让用户更快地找到所需内容,无需了解数据分类。这不仅提供了更好的用户体验,还能提高效率。

2. 对图像、音频、视频等非结构化数据进行相似度搜索

传统数据库难以分类和存储非结构化数据集,如图像、音频、视频等。对每个对象手动应用关键字、描述和元数据也很繁琐。不同人对复杂数据对象的分类可能有所不同,使得搜索变得随意。向量数据库能够更好理解数据,对数据进行相似度搜索。

3.搜索、推荐排序

做过搜索或者推荐排序的同学,应该对FAISS 这个库都不陌生,它是一个出色向量相似搜索类库。
向量数据库是一个类似的优秀的解决方案,可用于驱动排名和推荐引擎。向量数据库具备寻找相似物品的能力,因此它成为提供相关建议和轻松排名物品的理想选择。相似度分数也可用于对物品进行排序。
因此电商领域,可以用它为用户提供与过去购买或当前正在研究的物品相似的建议。流媒体服务(音乐、短视频)可以根据用户的歌曲评级创建个性化推荐。

4. 异常检测

既然向量数据库能够很好帮人们找到相似对象,做过异常检测(风控)的小伙伴们肯定也了解,其实聚类算法做得好,那么离群检测肯定也能做好。因为原理是一体两面的,能很快很好的找到相似的实体对象,那么找到不同的对象也是轻而易举。向量数据库在这些方向的应用是非常有效的。

向量数据库实例

推荐一些向量数据库,其中包括Pinecone ,ChatGPT,AutoGPT都基于它。还有一些开源方案可以关注。

  1. Pinecone:Pinecone 是一个向量数据库,用于索引和存储向量嵌入以进行快速检索和相似性搜索。它具有 CRUD 操作、元数据过滤和横向扩展等功能。
  2. Weaviate:Weaviate 是一个开源的向量数据库,允许您在原始向量或数据对象上执行闪电般快速的纯向量相似性搜索,甚至带有过滤器。它还允许您将基于关键字的搜索与向量搜索技术相结合,以获得最先进的结果。
  3. Chroma:Chroma 是一个向量数据库,为存储和搜索高维向量提供简单的 API。它专为基于特征和属性检索数据的相似性搜索而设计。
  4. Kinetica:Kinetica 是一个 GPU 加速的数据库,可以存储和查询高维向量。它使用内存计算和分布式处理的组合来提供快速的查询性能。

为什么需要向量数据库:

答案很简单:性能

向量数据库针对大量向量数据的存储和执行操作进行了优化,每次查询通常处理数亿个向量,并且比传统数据库的处理速度快得多。以下主要介绍向量数据库最核心的几种技术和能力:

  • 执行复杂的数学运算,使用“余弦相似度”等聚类技术过滤和定位“附近”的向量
  • 提供专门的 Vector 索引,使数据检索速度显着加快并更精确
  • 以更紧凑的方式存储向量,例如通过压缩和量化向量数据,尽可能多地在内存中查询数据
  • 跨多台机器数据分片

接下来我们深入了解一下相似性搜索相关技术:

相似性搜索向量索引

衡量向量之间的相关性和相似性,最常用的指标包括欧几里得距离余弦相似度点积。传统数据库的最近邻搜索需要比较每个已索引向量,效率比较低。

向量数据库使用“最近邻”索引来评估相似对象之间或搜索查询之间的接近程度。传统的最近邻搜索需要比较每个已索引向量,效率比较低。

向量数据库使用 近似最近邻(ANN)搜索技术,来评估相似对象之间或搜索查询之间的接近程度。
常用的技术包括HNSWinverted file index(IVF)Product Quantization(PQ)等算法。

HHSW:

IVF:

PQ:

总结

向量数据库是AI时代的核心组件,也是方兴未艾的领域,值得深入研究和发展。ChatGPT、AutoGPT类AI助手的崛起将会带来类似于MongoDB、Redis级别的数据库创业机会。

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

向量数据库入门教程系列-1-基于pinecone实现语义搜索

1. Pinecone简介

Pinecone是一个简单的云原生向量数据库,为高性能的AI应用提供长期记忆。它适用于涉及大模型(LLM)、生成式人工智能(AIGC)和语义搜索(Sematic Search)的应用。使用Pinecone,可以轻松存储和查询Vector ,提供优化的性能和实时分析能力。

1.1 与Mysql对比

特性/数据库PineconeMySQL
数据类型向量数据结构化数据(如文本、数字、日期等)
数据结构无模式,数据以高维向量形式存储表格结构,数据以行和列的形式组织
索引为高维向量优化的索引B树、哈希索引等
存储方式分布式存储,云原生可以是本地存储或分布式存储(如MySQL Cluster)
查询复杂性主要用于相似性搜索支持复杂的SQL查询,如连接、子查询等
数据模型无模式有模式,需要预先定义表、列和关系

1.2 Pinecone特点

  1. 速度快:Pinecone利用了突破性的新算法,可以实现毫秒级的向量搜索,是传统搜索方法的100-1000倍速度。这使得它非常适合需要实时响应的应用。

  2. 易于集成:Pinecone提供了多种语言的客户端库,包括Python、Java、Go等,可以非常容易地在应用中集成Pinecone。并且支持主流机器学习框架,如TensorFlow、PyTorch等。

  3. 灵活可扩展:Pinecone使用了可水平扩展的分布式架构,可以根据需求轻松扩展搜索能力。并且提供了细粒度的可调参数,可以针对不同的应用场景进行优化。

  4. 可管理的SaaS:Pinecone提供了云托管的SaaS版本,开发者可以通过简单的WEB界面来管理索引和查询,无需自行部署和维护服务。

2. 初识Pinecone

如前文所说,Pinecone是云原生的应用,它直接登陆网页就能使用。借助传统数据库的概念,我们来快速了解一下Pinecone的数据结构。

  • Pod:它是一个运行Pinecone服务的预配置硬件单元,你可以理解成一个运行Docker上的数据库实例。
  • Index:可以理解成传统关系数据库的表(Table)。每个Index在Pinecone中都是一个独立的数据结构,用于存储和检索高维向量。每个索引都有其自己的数据集和相关的配置。查询和操作是针对特定Index进行的。
  • Record: 可以理解成传统关系数据库的行(Row)。每个记录都有一个唯一的ID或键。

接下来进入实战:

2.1 数据库创建

构建Pinecone数据库是极其简单的,只需要在网页上点击几下,填写一些必要的参数即可。

2.1.1 登陆注册

直接访问链接

Pasted image 20230817141430

2.1.2 容器类型和索引(Pod Type& Index )

创建一个index,最核心的参数是维数,这个很多时候取决于你的数据大小。Pod Type如前文所言,服务实例的大小,我们免费用户只能选择starter这个机型。
Pasted image 20230820085241

可以看到我们创建了一个名字为test101的index,维度为384维。注意一开始这个vectors应该是零。
Pasted image 20230819230858
后续我们通过客户端向数据库上传了80000个vector到这个index。

2.1.3 记录(record)

Pinecone索引中的每个记录record包含一个唯一的ID和一个表示密集向量嵌入的浮点数数组,可以看到数据结构实际上这样。

Pinecone基本上是以JSON格式来对数据库做CURD,我们来看看一个最简单Record例子:
image.png

这个Record由4个字段组成,分别是RecordID,可以理解为RowId,唯一标识符。Dense Vector和Sparse Vector都是指我们数据的向量表达方式。MetaData就是元数据。

3 基于Pinecone实现语义搜索

  • 安装依赖包
1
2
3
4
!pip install -qU \
"pinecone-client[grpc]"==2.2.1 \
pinecone-datasets=='0.5.0rc11' \
sentence-transformers==2.2.2

我们跳过数据准备步骤,因为它们非常耗时,直接使用Pinecone Datasets中的预建数据集来进行操作。这次教程中使用的是quora_all-MiniLM-L6-bm25,主要是美国知乎的提问问题。

  • *下载数据集

Starter这个pod支持写入10万条vector,我们选择8万条数据写入。

1
2
3
4
5
6
7
8
9
10
11
from pinecone_datasets import load_dataset

dataset = load_dataset('quora_all-MiniLM-L6-bm25')
# 删掉这次教程无关的字段
dataset.documents.drop(['metadata'], axis=1, inplace=True)
dataset.documents.rename(columns={'blob': 'metadata'}, inplace=True)
#留下8万条记录
dataset.documents.drop(dataset.documents.index[320_000:], inplace=True)
dataset.documents.drop(dataset.documents.index[:240_000], inplace=True)
#展现10条数据
dataset.head(n=10)

可以看到前10条数据
Pasted image 20230819224843

  • 配置环境

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import os
    import pinecone

    # 找到你的PINECONE_API_KEY
    PINECONE_API_KEY = os.environ.get('PINECONE_API_KEY') or 'PINECONE_API_KEY'
    # 找到你的PINECONE_ENVIRONMENT
    PINECONE_ENV = os.environ.get('PINECONE_ENVIRONMENT') or 'PINECONE_ENVIRONMENT'

    pinecone.init(
    api_key=PINECONE_API_KEY,
    environment=PINECONE_ENV
    )

    如下图所示:第一个红色圆圈为PINECONE_ENVIRONMENT的参数取值。第二个圆圈为PINECONE_API_KEY的参数取值。复制粘贴到上述代码里面替换成字符串即可。
    Pasted image 20230819225008

  • 创建名为test101的index

    1
    index_name = 'test101'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

import time

# 只有index不存在的时候,才会新建
if index_name not in pinecone.list_indexes():
pinecone.create_index(
name=index_name,
dimension=len(dataset.documents.iloc[0]['values']),
#余弦相似度
metric='cosine'
)

# 等一秒钟(wait for it)
time.sleep(1)

# 连接index
index = pinecone.GRPCIndex(index_name)

批量写入数据:

1
2
3
for batch in dataset.iter_documents(batch_size=100):

index.upsert(batch)

可以看到写入的性能曲线,有个比较陡峭的峰,感觉性能并没有很稳定。另外,数据图表有个小bug,只显示有75000条,和上面的统计信息有所冲突。
Pasted image 20230819225744

Index的数据已经写入,可以开始进行查询了。语义搜索需要将文本转换成向量的形式,也就是我们通常所说的vector embeddings过程。在本教程里,我们采用SentenceTransformer来实现句子vector embeddings(向量嵌入)。
SentenceTransformer是一个功能强大的,可以生成句子、文本和图像的embeddings的python库。它提供了许多已经训练好的模型,用户可以使用这些模型进行文本相关任务,例如文本相似度计算、文本分类等。

1
2
3
4
5
6
7
from sentence_transformers import SentenceTransformer
import torch
#默认用GPU
device = 'cuda' if torch.cuda.is_available() else 'cpu'
#展现下模型
model = SentenceTransformer('all-MiniLM-L6-v2', device=device)
model

可以看到模型的一些默认信息:

Pasted image 20230819230358

  • 查询你的问题向量
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    query = "Who was the best Chinese King?"

    # 创建一个查询的向量
    xq = model.encode(query).tolist()

    # 查询
    xc = index.query(xq, top_k=5, include_metadata=True)

    # 逐一打印结果
    for result in xc['matches']:
    print(f"{round(result['score'], 2)}: {result['metadata']['text']}")

结果如下图所示:数字表示相似度,展现了相似度排名前五的问题向量。
Pasted image 20230819230312

4. 总结

本文深入探讨了Pinecone,一款云原生向量数据库,强调了其与传统数据库如MySQL的差异。Pinecone的核心优势在于其高速、易集成、灵活性和云托管能力。通过实际示例,我们展示了如何使用Pinecone和SentenceTransformer进行语义搜索。在接下来的教程中,风爷将进一步探索如何结合向量数据库和大型模型来实现图片的语义搜索,为大家展示向量数据库更多的实际应用场景。

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、写网络小说、写周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

Langchain 是什么?作为开发者我为什么要关心它?

什么是Langchain 🦜

Langchain是历史上增长最快的开源项目之一,这在很大程度上是由于人们对LLM的兴趣激增。

这篇文章高度概述了 langchain 帮助开发人员做的一些很酷的事情。它是为了我自己的利益而编写的,因为我探索了这个框架,如果您也好奇 langchain 可能有用的地方,我希望它能对您有所帮助。

langchain 如此强大的一些功能包括允许您将数据连接到语言模型(例如通过 API 的 OpenAI 的 GPT 模型)以及创建代理工作流程(稍后将详细介绍代理)。

Langchain为何存在?🤔

​简而言之,当今使用语言模型存在许多粗糙的问题。整个生态系统仍在发展中,因此对于开发人员来说,通常缺乏足够的工具来进行语言模型的生产部署。

诸如提示链接、日志记录、回调、持久内存和与多个数据源的高效连接等任务是 langchain 开箱即用的标准。

Langchain 还提供了一个与模型无关的工具集,使公司和开发人员能够探索多种 LLM 产品并测试最适合其用例的产品。最好的部分是,您可以在单个界面中执行此操作,而不必线性缩放您尝试支持的每个其他提供程序的代码库的大小。

Langchain的社区⭐️

评估工具时要考虑的核心事项之一是围绕它构建的社区。对于 langchain 这样的开源项目来说更是如此。截至目前,该项目在 GitHub 上拥有超过 51,000 颗星(通常用于评估开源项目受欢迎程度的指标),每月下载量达 100 万次,并且在 Discord/Twitter 上活跃。

Langchain 最近还在其核心存储库上达到了 1,000 名贡献者的里程碑,这是很少有存储库能够实现的壮举,并且说明了项目的开放性及其长期可行性。Langchain 甚至使用流行的 MIT 许可证,允许开发人员分叉代码库并在现有代码之上制作自己的版本,甚至开发商业产品。

Langchain 代理🤖

目前大型语言模型领域最热门的想法之一是代理的想法。通过使用语言模型,您基本上可以重新创建一个具有可以执行的目标和任务的编程实体。

Langchain 通过其代理 API 使使用大型语言模型创建代理变得简单。开发人员可以使用 OpenAI 函数或其他执行任务的方式来使语言模型能够采取行动。

有许多代理工具,例如 AgentGPT 等。那么 langchain 在这种情况下有何用处呢?其一,您可以使用单个界面访问多个工具框架。此外,您可以利用计划和执行功能,允许模型创建计划、执行任务和完成目标。当您正在寻找具有一定程度自主性的代理并尝试在几乎没有或没有人类反馈的情况下完成目标时,这尤其有用。虽然这在某些情况下听起来相当可怕,但鉴于今天的模型通常无法在很长一段时间内成功完成这些任务(当然,随着时间的推移,情况会变得更好),它今天的真正影响非常小。

带有语言模型的记忆🧠

如今,最强大的LLM API是OpenAI的API。该 API 没有状态,因此每次发送生成新聊天消息的请求时,您都必须传回模型回答当前查询所需的任何上下文。开发人员可以做一些轻量级的事情,例如将消息历史记录存储在 Python 列表中或将其写入文本文件,但这不能很好地扩展。

您还可以启动矢量数据库(专门用于嵌入的特殊数据库,它是表示文本含义的数字方式),但这通常需要一些工作。Langchain 有一个内存模块,可提供对多个数据存储的即插即用访问,使您可以自动保存对话的消息历史记录,进一步减少创建聊天机器人等的麻烦。

Langchain 目前支持 10 种不同的数据库集成,并且肯定很快就会推出更多数据库集成,为您保存消息历史记录的方式提供了很大的灵活性。我还预计,随着时间的推移,在 langchain 之外执行此操作的选项将会变得更好,因为已经有一些开源项目专门设计用于帮助简化管理聊天历史记录和截断的过程。

关于截断的快速说明:这是获取消息历史记录并不断缩小范围以保持在语言模型上下文窗口内的过程。有很多不同的方法可以做到这一点,事实上 ChatGPT 有一种自定义方法,但这里没有灵丹妙药,因为您最终总是不得不忽略您关心的重要信息。这就是为什么通过 langchain 的嵌入和内存如此有用。

比较工具🔍

我要提到的langchain的最后核心部分之一是动态比较模型和提示的能力。当尝试评估哪种模型更适合特定任务时,这非常有用。例如,您可能希望设置多个 GPT 3.5-turbo 和 GPT-4 模型来切换不同的系统消息,并使用比较工具来查看哪个输出更适合您的用例。这需要一些工作,但它是 kalt 在生产环境中对不同设置进行 A/B 测试的有用方法之一。

每个人都喜欢快速工程。好吧,肮脏的秘密是没有人真正喜欢即时工程,这有点麻烦。我只是希望模型能够按照预期的方式工作并执行我想要的操作。但生活并不完美,有时你必须自己做一些工作。这就是评估器的作用,它是 langchains 评估模块的一部分。它有一些不同的操作函数,例如“PairwiseStringEvalChain”(文档中的更多详细信息)。

他们甚至有一个基准测试模板笔记本,乍一看似乎是我将在自己的工作流程中使用的东西。一个快速的随机想法:模型本身通常比我们更擅长及时调整。有时深奥、详细、清晰的提示对我们来说并不容易想出来,但模型确实可以做得很好。如果您遇到提示问题,请尝试要求 GPT-4 与您一起迭代改进提示。

结束语🎙️

首先,我希望这有用。自从我忙于其他一百件事以来,我一直忽略尝试 langchain,我很高兴我终于有时间检查它(尽管是在度假时远离这 100 件事)。我的总体看法是 langchain 绝对可以解决当今的问题。我的前瞻性陈述是,我想象 LLM API 随着时间的推移会做越来越多的事情,这将使 langchain 的用处大大降低。它也完全有可能最终成为法学硕士的接口,因为人们想要有意义的平台无关设置。有一点是肯定的,Harrison 和 langchain 社区迄今为止在构建他们所拥有的东西方面已经做了一项令人难以置信的工作,它显然提供了价值,我很高兴他们正在做这项工作。

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

大语言模型部署应用与基础设施成本优化

1. 引言

ChatGPT、LLaMa、Bard 等大语言模型(LLMs)取得了非常巨大突破,迅速在公众领域流行起来。LLMs所展现的强大文本生产能力让用户惊叹不已,属于划时代的产品。这些模型拥有数十亿甚至数千亿个参数,因而这些模型通常的部署和维护成本都惊人的高昂。这类大模型的的训练和推理都需要大量的计算资源和内存资源,企业需要投入海量的基础设施成本(不管是云服务还是自建机房都非常贵),来保证大模型能够稳定提供服务。

那么有没有办法花小钱办大事呢?
当然有。

本文旨在提供一些策略、提示和技巧,您可以在部署基础架构时应用这些策略、提示和技巧来优化基础架构。我们将重点探讨这些内容:

    1. 大模型部署与应用时将会面临的基础架构挑战
    1. 如何降低大模型部署与应用的成本
    1. 其他的一些有用的策略

2. 大模型部署与应用的挑战

LLMs遵循规模效应,也就是说参数越大,效果越好。因此它们一般需要海量GPU计算资源才能获得最佳性能。通常会面临以下的挑战:

2.1 高计算量

部署 LLM 是一个充满挑战的任务,因为它们需要大量计算资源来执行推理,尤其是模型用于实时应用程序(例如聊天机器人或虚拟助手)为甚。
以 ChatGPT 为例,大多数情况下它能够在几秒钟内处理和响应用户查询。尤其是繁忙时段瞬间涌入海量用户会使得推理时间会变长。还有其他因素可能会延迟推理,例如问题的复杂性、生成响应所需的信息量等等。总而言之,大模型要提供实时服务,它必须能够实现高吞吐量低延迟

2.2 大存储量

由于模型参数规模从数百万到数千亿,LLM 的存储也是一个充满挑战的问题。由于大模型规模太大,所以无法直接将整个模型存储在单个存储设备。
例如,OpenAI 的 GPT-3 模型有 1750亿 个参数,仅其权重参数存储就需要超过 300GB 的存储空间。
此外,它还需要至少具有 16GB 显存的 GPU 才能高效运行(意味着起码是T4级别以上的N卡)。
因此,在单个设备上存储和运行如此大的模型对于许多用户场景来说是不切实际的。整体来说,
LLM 的存储容量存在三个主要问题:

  • 内存限制 : LLMs需要大量内存,因为它们要处理大量信息。部署此类模型的一种方法是使用分布式系统,模型分布在多个服务器节点上。这种系统允许将推理任务切分分配到多台服务器上,实现负载均衡和推理加速。这类系统通常架构都比较复杂,需要大量的专业知识来设置和维护这些分布式机器。模型越大,需要的服务器就越多,这也增加了部署成本。还有一种复杂的场景就是,如何将大模型部署在手机等内存较小的设备上。
  • 模型规模 : 如果输入查询又长又复杂,即便运行在大内存显卡上的模型推理过程中也很容易耗尽内存。即使对于 LLM 的基本推理,也需要多个加速器或多节点计算集群(例如多个 Kubernetes Pod)。
  • 可扩展性 : 大模型通常使用模型并行化MP)进行扩展,这涉及将模型分成更小的部分并将其分布在多台机器上。每台机器处理模型的不同部分,并将结果组合起来产生最终输出。该技术有助于大模型训练,但也需要仔细考虑机器之间的通信开销。

2.3 网络带宽

如上所述,LLM 必须使用 MP 进行扩展。但我们发现的问题是,模型并行化 在单节点集群中是有较好效果,但在多节点集群中,由于网络通讯开销,导致推理效率不高。

2.4  成本与能耗

如上文所述,部署和使用 LLM 的成本可能很高,包括硬件和基础设施的成本,尤其是在推理过程中使用 GPU 或 TPU 等资源来实现低延迟和高吞吐量时。对小公司和个人来说,这是一个非常大的挑战。


LLMs的费用估算以及碳足迹| 来源

根据 NVIDIA的说法,80-90% 的机器学习工作负载是推理带来的。同样,根据 AWS 的数据,推理占云中机器学习需求的 90%。

在22年12月份,chatGPT 的运行成本约为每天 100,000 美元或每月 300 万美元。随着ChatGPT的大获成功,GPT-4的推出等,估计现在(23年7月)估计要比当时(22年12月)高出一个数量级了

关于ChatGPT成本的推文 | 来源

3. 优化大模型基础设施成本的策略

在本节中,我们将探讨并讨论前一节中讨论的挑战的可能解决方案和技术。

首先以AWS作为云供应商,来实现大模型推理的工作流作为例子:

AWS上的大模型推理的工作流 | 来源

您可以按照以下的步骤尽可能高效地部署大模型。

3.1 云计算预算评估与规划

使用云计算服务可以提供动态、按需使用包括CPU,GPU,TPU在内的各种强大的计算资源。云计算服务灵活且可扩展性强,但是在使用云服务的时候,首先你需要为自己的项目制定一个项目预算,这样能够让你的基础设施投入更加合理可控。
云服务提供商如AWS、Azure和google cloud提供了一系列部署LLM的产品,包括虚拟机、容器和无服务器计算。但是尽管如此,建议还是需要根据自己业务情况进行研究和计算,选择更加合理的云服务解决方案。例如,你必须核实以下三个方面信息:

  1. 模型尺寸
  2. 关于要使用的硬件的详情
  3. 合理的推理产品方案
    根据上述三个方面的信息,可以计算出你需要多少加速计算能力,从而规划并执行适合你自身业务的大模型部署。

大模型的MLOps工具

3.1.1 计算模型大小

您可以根据以下表格,折算自己模型大概需要多少多少FLOPs算力,从而确定要在云平台上找到相相应的GPU。


预估计算FLOPs
另外这个工具也可以帮你计算模型在训练和推理过程中所需的FLOPs。

一个用于计算训练和推理所需的FLOPs的工具

3.1.2 选择合适的硬件

当你计算出所需的FLOPs,就可以继续选择GPU。确保你了解GPU所提供的功能。例如,查看下面的图片以了解情况。可以参考以下A100的GPU规格,选择符合预算的显卡。最新的H100芯片可以访问这个链接

NVIDIA提供的GPU规格清单

3.1.3 选择正确的推理产品

Amazon SageMaker是一个机器学习云服务产品,提供多种推理选项,以适应不同的工作负载。例如,如果您需要:

  1. 实时推理, 适用于低延迟或高吞吐量的在线推理,支持最大6 MB的负载大小和60秒的处理时间。

  2. 无服务器推理,适用于间歇性或不可预测的流量模式,并支持高达4 MB的负载大小和60秒的处理时间。在无服务器推理中,模型根据流量弹性伸缩,自动扩容或者缩容。

  3. 批量处理 ,适用于大型数据集的离线处理,适合以GB为单位的负载大小和以天为单位的处理时间的场景。

  4. 异步推理 ,适用于排队具有大负载和长处理时间的请求,支持最大1 GB的负载和最长一小时的处理时间. 。同样支持弹性伸缩。

为了更好地理解并满足您的要求,请查看下方的图片。

选择模型部署类型

当满足以上所有要点时,您可以将模型部署在任何云服务上。

3.1.4 小结:

  • 1 设定预算
  • 2 计算模型的大小
  • 3 计算模型所需的FLOPs
  • 4 找到合适的GPU
  • 5 选择适当的推理类型
  • 6 研究各个云计算平台提供的定价
  • 7 找到适合您需求和预算的服务
  • 8 部署

3.2 优化模型以提供服务

在上一节中,我们讨论了不同规模的LLM的规模如何部署。如果当我们的模型过大时,可以采用模型编译、模型压缩和模型分片等策略。这些技术可以在保持准确性的同时减小模型的大小,部署起来更容易,与之同时会显著降低相关费用。


优化LLMs以进行部署的不同技术或策略

3.2.1 模型压缩

模型压缩的目标是通过利用硬件特定优化,如减少内存占用、改善计算并行性和减少延迟,来提高LLM推理的性能和效率。模型压缩能够帮助你尝试不同的技术组合,为各种任务设定性能基准,并找到适合预算的方案。模型压缩一般涉及几个步骤:

  1. 计算图优化(Graph optimization): 使用剪枝量化等优化技术对高级LLM图进行转换和优化,以降低模型的计算复杂度和内存占用。这样,模型变得更小,同时保持其准确性。
  2. 硬件感知优化(Hardware-specific optimization): 在优化过的LLM计算图基础上进一步实现硬件优化。Amazon Sagemaker为各种流行的ML框架提供了基于硬件优化的模型服务容器以及SDK,包括XGBoost,scikit-learn,PyTorch,TensorFlow和Apache MXNet。

AWS Sagemaker Neo的工作原理

以下是一些必须了解的模型压缩技术。

3.2.1.1 模型量化

模型量化(MQ)是一种减少机器学习模型大小和计算复杂性的技术。在模型量化中,我们将模型的权重和激活函数从浮点数(例如32位)转换为更小的数据类型(例如8位整数)。这样做的原因是,更小的数据类型需要更少的存储空间和计算资源。

这个过程可以类比为我们在生活中的经验。比如,你有一张非常详细的地图,这张地图上的每一条街道、每一棵树都画得非常清楚。但是,这张地图非常大,你无法把它放进口袋里。于是,你决定制作一张简化版的地图,只标注主要的街道和地标。这样,你的地图就变小了,可以放进口袋里,但是它仍然包含了你需要的主要信息。

在模型量化中,我们也是这样做的。我们将模型的权重和激活函数简化,使其变小,但仍然尽可能地保留了原始模型的信息。

然而,这种简化过程确实可能会导致一些信息的丢失,这就是所谓的量化误差。这种误差可能会对模型的精度产生影响。但是,通过一些技术,如重新校准(re-calibration)和量化感知训练(quantization-aware training),我们可以在一定程度上减小这种影响。这些技术可以帮助模型在量化过程中适应信息的丢失,从而在减小模型大小的同时,尽可能地保持模型的精度。
PyTorch 提供了模型量化的能力。PyTorch 提供了一套完整的量化工具,包括动态量化(Dynamic Quantization)、静态量化(Static Quantization)以及量化感知训练(Quantization Aware Training)。

  1. 动态量化:这种方法只量化模型的权重,而不量化激活。这种方法的优点是实现简单,不需要对模型进行任何修改,但可能不如其他方法减少模型大小和提高性能。

  2. 静态量化:也称为(Post-training quantization)。这种方法在训练后进行,它包括权重和激活的量化,以及模型的重校准。这种方法可以进一步减小模型大小和提高性能,但需要更多的步骤来实现。

  3. 量化感知训练:也称为(Hybrid quantization). 这种方法在训练过程中引入量化,使模型能够适应量化带来的误差。这种方法可以在减小模型大小和提高性能的同时,保持或提高模型的精度。

PyTorch 提供了一系列的 API 和教程来帮助开发者实现模型量化。这些工具可以帮助你将模型量化,使其更适合在资源有限的设备上运行。

虽然模型量化有很多优点,如减小模型大小、减少计算需求、提高推理速度等,但是它也有一些潜在的缺点:

  1. 精度下降:量化过程可能会导致一些信息的丢失,这可能会对模型的精度产生影响。虽然有一些技术可以减小这种影响,但在某些情况下,精度的下降可能是无法避免的。

  2. 实现复杂:实现模型量化可能需要对模型进行一些修改,这可能会增加实现的复杂性。例如,你可能需要进行量化感知训练,或者对模型进行重校准。

  3. 硬件兼容性:虽然模型量化可以帮助模型在资源有限的设备上运行,但并非所有的硬件都支持量化模型。在某些硬件上,运行量化模型可能不会带来预期的性能提升。

  4. 模型兼容性:并非所有的模型都适合量化。某些模型可能在量化后的性能下降较大,或者无法进行有效的量化。

因此,虽然模型量化是一种强大的工具,但在使用它时,你需要考虑到这些潜在的问题,并根据你的具体需求和条件来决定是否使用模型量化。

3.2.1.2 模型剪枝

模型剪枝(Model Pruning)是一种优化技术,它的目标是通过移除模型中的一部分参数(例如神经网络中的神经元或连接)来减小模型的大小和计算需求,同时尽可能地保持模型的性能。

模型剪枝的基本思想是,模型中的一些参数对模型的性能贡献很小,因此可以安全地移除它们。例如,在神经网络中,我们可以移除那些权重很小的连接,因为它们对模型的输出影响很小。

模型剪枝有很多种方法,包括:

  1. 权重剪枝:这种方法移除那些权重值小于某个阈值的连接。这种方法的优点是实现简单,但可能会导致模型的结构变得不规则,从而影响硬件的优化。

  2. 单位剪枝:这种方法移除整个神经元或者卷积核。这种方法可以保持模型的结构规则,从而更适合硬件的优化,但可能会对模型的性能产生更大的影响。

  3. 结构剪枝:这种方法移除模型中的一部分结构,例如卷积层或者全连接层。这种方法可以大大减小模型的大小,但需要更复杂的算法来确定应该移除哪些结构。

  4. 稀疏剪枝:这种方法试图在保持模型性能的同时,最大化模型的稀疏性。这通常通过一些优化算法来实现,例如L1正则化。

  5. 动态剪枝:这种方法在模型的训练过程中动态地进行剪枝。这种方法的优点是可以根据模型的训练情况来调整剪枝的策略,但实现起来可能比较复杂。

下面是一个使用 PyTorch 进行权重剪枝的简单例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import torch
import torch.nn as nn
import torch.nn.utils.prune as prune

# 创建一个简单的线性模型
model = nn.Linear(10, 10)

# 打印模型的权重
print('原始权重:')
print(model.weight)

# 使用 L1Norm 方法进行剪枝,剪掉 30% 的权重
prune.l1_unstructured(model, name="weight", amount=0.3)

# 打印剪枝后的权重
print('剪枝后的权重:')
print(model.weight)

在这个例子中,首先创建了一个简单的线性模型。然后,使用 prune.l1_unstructured 方法进行剪枝,剪掉了 30% 的权重。最后,打印出了剪枝后的权重。

这只是一个非常简单的例子,实际的剪枝过程可能会更复杂。例如,可能需要在剪枝后重新训练模型,以恢复模型的性能,也可能需要使用更复杂的剪枝方法,例如单位剪枝或结构剪枝。

你可以通过PyTorch的这个Colab笔记本来更好地了解MP。

3.2.1.3 模型蒸馏

模型蒸馏是一种模型压缩技术,它的主要步骤如下:

  1. 训练教师模型:首先,需要训练一个大的模型,这个模型通常被称为教师模型。教师模型通常是一个深度的、复杂的模型,它可以在训练数据上达到很高的性能。

  2. 获取教师模型的输出:然后,使用教师模型对训练数据进行预测,获取教师模型的输出。这些输出通常包括类别的预测,以及预测的概率或者置信度。

  3. 训练学生模型:接着,训练一个小的模型,这个模型通常被称为学生模型。学生模型通常是一个浅度的、简单的模型,它的目标是学习教师模型的输出。在训练过程中,不仅要最小化学生模型的输出和数据的标签之间的差异,还要最小化学生模型的输出和教师模型的输出之间的差异。

  4. 评估学生模型:最后,评估学生模型的性能。如果学生模型的性能达到了我们的要求,那么就可以使用学生模型来替代教师模型了。

以BERT为例,模型蒸馏工作流程请参见下方的图片。

DistilBERT的蒸馏过程

模型蒸馏的具体方法有很多种,以下是一些常见的方法:

  1. 软标签蒸馏:这是最常见的模型蒸馏方法,也是模型蒸馏的基础。在这种方法中,教师模型的输出(通常是概率分布)被用作学生模型的目标。这种方法可以帮助学生模型学习到教师模型的知识,包括类别之间的关系和对于某些难以分类的样本的不确定性。

  2. 特征蒸馏:在这种方法中,我们不仅要让学生模型学习到教师模型的输出,还要让学生模型学习到教师模型的中间特征。这种方法可以帮助学生模型学习到更深层次的知识,从而提高模型的性能。

  3. 关系蒸馏:在这种方法中,我们让学生模型学习到教师模型的输出之间的关系。例如,我们可以让学生模型学习到教师模型对于一对样本的相对预测。这种方法可以帮助学生模型学习到更复杂的知识,从而提高模型的性能。

  4. 注意力蒸馏:在这种方法中,我们让学生模型学习到教师模型的注意力分布。这种方法可以帮助学生模型学习到教师模型的注意力机制,从而提高模型的性能。

我们用一个使用 PyTorch 实现模型蒸馏的代码示例来加深理解。
在这个例子中,我们首先创建了一个教师模型和一个学生模型,然后使用自定义的损失函数进行模型蒸馏。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import torch
import torch.nn as nn
import torch.optim as optim

# 创建教师模型和学生模型
teacher = nn.Sequential(nn.Linear(784, 1200), nn.ReLU(), nn.Linear(1200, 10))
student = nn.Sequential(nn.Linear(784, 800), nn.ReLU(), nn.Linear(800, 10))

# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(student.parameters(), lr=0.01, momentum=0.9)

# 定义蒸馏的温度和权重
temperature = 2.0
alpha = 0.5

for epoch in range(100): # 进行 100 个训练周期
for i, data in enumerate(trainloader, 0):
inputs, labels = data

# 计算教师模型的输出
teacher_outputs = teacher(inputs)
teacher_probs = torch.nn.functional.softmax(teacher_outputs / temperature, dim=1)

# 计算学生模型的输出
student_outputs = student(inputs)
student_probs = torch.nn.functional.softmax(student_outputs / temperature, dim=1)

# 计算损失
loss1 = criterion(student_outputs, labels)
loss2 = criterion(student_probs.log(), teacher_probs)
loss = alpha * loss1 + (1 - alpha) * loss2

# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()

在这个例子中,首先创建了一个教师模型和一个学生模型。然后,定义了损失函数和优化器。还定义了蒸馏的温度和权重,这两个参数用于控制蒸馏的强度。

在训练过程中,首先计算教师模型的输出,然后将这些输出转换为概率分布。接着,我们计算学生模型的输出,然后将这些输出转换为概率分布。然后,计算两种损失:一种是学生模型的输出和数据标签之间的损失,另一种是学生模型的输出和教师模型的输出之间的损失。这两种损失的权重由 alpha 参数来控制。最后,进行反向传播和优化。

可以在这个链接中找到完整的代码和更详细的解释:Towards Data Science: Introduction to PyTorch Model Compression Through Teacher-Student Knowledge Distillation

3.2.2 LLM的硬件优化

  1. 选择适合LLM需求的硬件:大型语言模型(LLMs)通常需要大量的计算资源和存储空间。例如,如果我们模型是一个大型的Transformer模型,需要具有大量RAM和多个GPU的高性能服务器。另一方面,如果我们模型是一个小型的RNN模型,可能只需要一个具有适量RAM和一个GPU的普通服务器。选择合适的硬件可以确保我们模型能够有效地运行,同时避免浪费资源。

  2. 利用专用硬件:专用硬件,如TPU(张量处理单元),是专门为深度学习任务设计的硬件加速器。TPU在处理张量运算(这是深度学习模型的基础)方面非常高效。例如,Google的BERT模型就是在TPU上训练的。此外,推理时可以考虑使用加速线性代数(XLA)。XLA是一种优化编译器,可以将TensorFlow的计算图优化为高效的机器代码,从而提高性能。

  3. 使用优化的库:优化的库,如TensorFlow、PyTorch或JAX,可以利用硬件特性来加速计算。例如,TensorFlow可以自动地将计算任务分配到多个GPU上,从而提高性能。PyTorch则提供了一种动态计算图的特性,可以更灵活地构建和修改模型。JAX则提供了一种函数转换的特性,可以更容易地实现复杂的优化算法。

  4. 调整批次大小:在推理过程中,适当调整批次大小可以最大化硬件利用率并提高推理速度。例如,如果GPU有足够的内存,可以增大批次大小,这样可以让GPU同时处理更多的数据,从而提高性能。但是,如果批次大小太大,可能会导致内存溢出。因此,我们需要根据硬件条件和模型需求来调整批次大小。

  5. 持续监控和优化:在部署过程中,需要持续监控模型的性能,包括推理速度、内存使用情况、GPU利用率等。如果发现性能有问题,可能需要调整硬件配置,例如增加RAM、增加GPU、升级存储设备等。也可能需要优化模型或代码,例如减小模型大小、优化计算图、减少数据传输等。

3.3 成本效益(Cost Efficient,CE) 的可扩展性

以下是我们可以在控制成本的同时扩展大型自然语言处理模型的方法:

  1. 选择合适的推理选项:例如,我们可以选择使用AWS SageMaker或Google Cloud AI Platform,这些服务可以根据需求动态分配资源,从而在需求较少时降低部署成本。

  2. 优化推理性能:我们可以通过使用硬件加速,如GPU或TPU,以及优化推理代码来提高推理性能。例如,我们可以使用TensorRT或OpenVINO这样的库来优化我们的模型,使其能够更有效地在GPU或TPU上运行。

  3. 使用缓存:如果我们的模型需要处理大量的重复请求,我们可以使用缓存来提高性能和降低成本。例如,我们可以使用Redis或Memcached这样的缓存服务来存储我们的模型的推理结果。当我们收到一个相同的请求时,我们可以直接从缓存中获取结果,而不需要再次运行模型。这样可以显著减少我们的计算需求,从而降低成本。

4. 结论

我们总结一下全文的流程

  • 设定预算:明确我们的财务预算,以便在部署大型语言模型时做出明智的决策。
  • 计算模型大小:理解我们的模型的规模,以便选择合适的硬件和服务。
  • 使用模型压缩技术:通过修剪、量化和蒸馏等技术,可以减少部署所需的内存和计算资源。
  • 利用云计算服务:AWS、Google Cloud和Microsoft Azure等云服务提供了经济高效且可扩展的解决方案。
  • 采用无服务器计算:无服务器计算提供了按使用付费的模式,可以降低运营成本并实现自动扩展。
  • 优化硬件加速:例如,我们可以使用GPU来加速模型的训练和推理,从而提高效率。
  • 定期监控资源使用:通过监控,我们可以识别哪些资源被低效使用,或者哪些实例被过度配置,从而找到降低成本的机会。
  • 持续优化模型和硬件:我们需要不断地优化我们的模型和硬件配置,以实现高效的推理。
  • 更新软件和安全补丁:保持软件和安全补丁的最新状态,以确保我们的系统的安全。

在本文中,我们探讨了部署大型语言模型时面临的挑战,以及与之相关的基础设施成本。同时,我们也提出了解决这些问题的技术和策略。

在我们讨论的所有解决方案中,风爷最推荐的是弹性和无服务器推理。虽然模型压缩是一种有效的方法,但是当需求很高时,即使是较小的模型也可能需要大量的资源。因此,需要一个可以根据需求动态调整资源的解决方案,这就是弹性和无服务器推理的优势。

当然,这些推荐可能并不适合所有的情况,你需要根据你自己的需求和问题来选择最合适的方法。风爷希望这些讨论可以帮助你在部署大型语言模型时降低基础设施成本。

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、写网络小说、写周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

#AIGC #LLMs #Infra #AWS #大模型

References 参考文献

  1. Large Language Model Training in 2023
  2. https://d1.awsstatic.com/events/Summits/reinvent2022/AIM405_Train-and-deploy-large-language-models-on-Amazon-SageMaker.pdf
  3. Top 10 AI Chip Makers of 2023: In-depth Guide 
  4. https://www.nvidia.com/en-us/data-center/dgx-a100/
  5. LLaMA: A foundational, 65-billion-parameter large language model
  6. https://arxiv.org/pdf/2203.15556.pdf
  7. https://huggingface.co/docs/transformers/model_doc
  8. https://huggingface.co/docs/transformers/model_doc/gpt2#transformers.GPT2TokenizerFast
  9. https://sunniesuhyoung.github.io/files/LLM.pdf
  10. https://twitter.com/tomgoldsteincs/status/1600196995389366274?lang=en
  11. https://arxiv.org/pdf/1910.02054.pdf
  12. https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html
  13. Jaime Sevilla et al. (2022), “Estimating Training Compute of Deep Learning Models”. Published online at epochai.org. Retrieved from: ‘https://epochai.org/blog/estimating-training-compute‘ [online resource]
  14. https://arxiv.org/abs/2001.08361
  15. https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a100/pdf/nvidia-a100-datasheet-us-nvidia-1758950-r4-web.pdf
  16. https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html
  17. https://aws.amazon.com/sagemaker/neo/
  18. https://colab.research.google.com/github/pytorch/tutorials/blob/gh-pages/_downloads/7126bf7beed4c4c3a05bcc2dac8baa3c/pruning_tutorial.ipynb
  19. https://towardsdatascience.com/distillation-of-bert-like-models-the-code-73c31e8c2b0a
  20. https://aws.amazon.com/blogs/machine-learning/train-175-billion-parameter-nlp-models-with-model-parallel-additions-and-hugging-face-on-amazon-sagemaker/
  21. Improving Language Model Behavior by Training on a Curated Dataset
  22. https://towardsdatascience.com/how-to-deploy-large-size-deep-learning-models-into-production-66b851d17f33
  23. https://huggingface.co/blog/large-language-models
  24. https://aws.amazon.com/blogs/machine-learning/deploy-large-models-on-amazon-sagemaker-using-djlserving-and-deepspeed-model-parallel-inference/
  25. Large Language Models Can Self-Improve
  26. https://spot.io/resources/cloud-cost/cloud-cost-optimization-15-ways-to-optimize-your-cloud/
  27. https://dataintegration.info/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker
  28. https://medium.com/data-science-at-microsoft/model-compression-and-optimization-why-think-bigger-when-you-can-think-smaller-216ec096f68b
  29. https://medium.com/picsellia/how-to-optimize-computer-vision-models-for-edge-devices-851b20f7cf03
  30. https://huggingface.co/docs/transformers/v4.17.0/en/parallelism#which-strategy-to-use-when
  31. https://medium.com/@mlblogging.k/9-libraries-for-parallel-distributed-training-inference-of-deep-learning-models-5faa86199c1f
  32. https://towardsdatascience.com/how-to-estimate-and-reduce-the-carbon-footprint-of-machine-learning-models-49f24510880

智写AI PC站上线了

✿✿ヽ(°▽°)ノ✿

功能更加强大,使用更加方便的智写AI PC站上线啦。

智写AI,万能写手,一键生成

媲美chatgpt 4的自研AI引擎帮你写材料、写文案、写论文、写代码等

PC站首页

功能

  • 自定义语言、语气、风格等
  • 小程序数据打通、会员打通
  • 支持语音输入
  • 后续将支持自定义数据训练专有大模型
  • 后续将支持媲美GPT-4大模型

详情

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

一、大模型

  1. 模型

开源模型:智源悟道·天鹰 Aquila 大语言模型系列已经全面升级到 Aquila2,并且增加了 340 亿参数 Aquila2-34B。该模型在代码生成、考试、理解、推理、语言四个维度的多项评测基准登顶。智源不仅开源 Aquila2 模型系列,还同步开源了 Aquila2 的训练算法,包括 FlagScale 框架和 FlagAttention 算子集,以及语义向量模型 BGE 新版本。(github|新智元)

开源模型:法国人工智能初创公司 Mistral AI 发布开源模型 Mistral 7B,在每个基准测试中,都优于 Llama 2 13B,在代码、数学和推理方面优于 LLaMA 1 34B。Mistral 7B 使用 Apache 2.0 许可发布,这是一种高度宽松的方案,除归属之外,对使用或复制没有任何限制。(huggingface|机器之心)

多模态:今年 4 月,威斯康星大学麦迪逊分校、微软研究院和哥伦比亚大学研究者共同发布了 LLaVA(Large Language and Vision Assistant)。LLaVA 使用小的多模态指令数据集训练,但在一些样本上展示了与 GPT-4 非常相似的推理结果。如今,这一成果迎来升级:LLaVA-1.5,通过对原始 LLaVA 的简单修改,在 11 个基准上刷新了 SOTA。(机器之心|论文|Demo)

多模态:Meta 发布多模态版 Llama2 AnyMAL(Any-Modality Augmented Language Model),可理解不同模态输入内容(文本、图像、视频、音频、IMU 运动传感器数据),并生成文本响应。该模型在 VQAv2 提高了 7.0% 的相对准确率,在零误差 COCO 图像字幕上提高了 8.4% 的 CIDEr,在 AudioCaps 上提高了 14.5% 的 CIDEr,创造了新的 SOTA。(机器之心|论文)

知识更新:谷歌、马萨诸塞大学阿默斯特分校、OpenAI 研究者创建新基准「FRESHQA」,用于评估现有 LLM 生成内容的事实性。FRESHQA 包含 600 个自然问题,分为四大类(不会变化、缓慢变化、迅速变化、虚假预设)。这些问题要求模型「理解」世界上的最新知识,才能正确回答。由于其特性,FRESHQA 一些 ground-truth 答案可能会随着时间的推移而改变。(机器之心|论文)

多模态:加州大学圣克鲁兹分校研究团队提出 MiniGPT-5,一种以 「生成式 voken」概念为基础的交错视觉语言生成技术。除了多模态理解和文本生成能力外,MiniGPT5 还能提供合理、连贯的多模态输出。(机器之心|论文|项目)

图像补全:谷歌、康奈尔提出真实的图像补全技术 RealFill(Authentic Image Completion),可以用少量的场景参考图像进行个性化设置,而这些参考图像无须与目标图像对齐,甚至可以在视角、光线条件、相机光圈或图像风格等方面有极大的差异。一旦完成个性化设置,RealFill 就能够以忠实于原始场景的方式,用视觉上引人入胜的内容来补全目标图像。(机器之心|论文|项目)

图像生成:Adobe AIGC 生图平台 Firefly 最近升级为 Firefly 2,提升了图像质量、引入了矢量图生成功能,并增加了多项新功能。

上下文:MIT、港中文提出 LongLoRA ,一种有效的微调方法,以有限的计算成本扩展预训练大型语言模型上下文大小。在单台 8 x A100 设备上,LongLoRA 可将 LLaMA2 7B 从 4k 上下文扩展到 100k。(机器之心|论文|项目)

推荐上下文:MIT、Meta AI、CMU 研究者提出「StreamingLLM」方法,使语言模型能处理更长的上下文。StreamingLLM 的工作原理是识别并保存模型固有的「注意力池」(attention sinks)锚定其推理的初始 token。结合最近 token 的滚动缓存,StreamingLLM 的推理速度提高了 22 倍,而不需要牺牲准确性。(机器之心|论文|项目)

上下文:清华叉院助理教授杨植麟创业AI公司月之暗面(Moonshot AI)推出首款大模型产品智能助手 Kimi Chat。模型为千亿参数规模,支持输入长文本达 20 万字。作为对比,Claude 支持最大长文本为 100k(约 8 万字),而 GPT-4 则是 32k(约 2.5 万字)。(36Kr)

紧凑模型:AIGC 独角兽 Stability AI 宣布推出 Stable LM 3B 实验版本,这是一款专为便携移动设备设计的紧凑型语言模型,包含 30 亿参数,使用 256 个英伟达A100 40GB GPU 训练而成,主打文本生成。据介绍,与上一次发布的 Stable LM 相似,Stable LM 3B 的主要优势之一是体积更小、效率更高。此外,它的性能超过了目前最先进的 3B 参数语言模型,甚至超过了一些 7B 参数规模的最佳开源语言模型。(智东西)

  1. 算力

芯片:近日,清华大学集成电路学院吴华强教授、高滨副教授基于存算一体计算范式,在支持片上学习的忆阻器存算一体芯片领域取得重大突破,研究成果已发表于最新一期 Science。据清华大学介绍,记忆电阻器(Memristor)是继电阻、电容、电感之后的第四种电路基本元件。它可以在断电之后,仍能「记忆」通过的电荷,可成为新型纳米电子突触器件。(机器之心|论文)

芯片:外媒 The Information 称,微软计划在下个月举行的年度开发者大会上,推出首款人工智能芯片。同时,OpenAI 也在招聘能够帮助其评估和设计 AI 硬件的人员。(新智元|The Information)

  1. 应用

推荐审稿:斯坦福研究者尝试让 GPT-4 评审了数千篇 Nature、ICLR 顶会,与人类审稿人给出的意见相比较,并收集论文作者对评审意见的看法。研发表明,GPT-4 给出的意见中,超 50% 和至少一名人类审稿人一致。并且超过 82.4% 的作者表示,GPT-4 给出的意见相当有帮助。(新智元|论文)

有声读物:微软 MIT 等机构用 AI 将古腾堡计划的电子书转录为语音书,免费向公众开放,而且用户还可以用自己的声音来进行配音。任何用户都可以通过 Spotify、Apple Podcasts、Google Podcasts 等 5 个平台,免费获取到生成的语音书。古腾堡计划是全球最大的开源电子书库,目前书库中包含超过70000本已经进入共有领域的电子书。(新智元|论文|项目)

监控:据日本共同社报道,日本警方将首度使用 AI 技术来识别社交媒体帖子,监测抢劫、欺诈等犯罪行为。日本警方委托网络巡逻中心进行在线监控工作,利用自然语言处理技术寻找特定的关键词,并根据上下文识别涉嫌包含有害信息的帖子,然后将把收集到的数据报告给另一个外部组织互联网热线中心,互联网热线中心可以要求网站运营商和互联网服务提供商删除其认为非法或有害的帖子。(智东西)

英语学习:网易有道推出虚拟人口语教练 Hi Echo。用户可在微信小程序或应用市场搜索“Hi Echo”体验。据介绍,Hi Echo 搭载有道自研子曰教育大模型,是全球首个通过虚拟人形象与用户真实互动并帮助用户提升英语口语能力的产品。Hi Echo 覆盖 8 种对话场景和 68 个话题,支持自由对话,从发音、语法两个维度给出口语打分,提供语法改错、地道用词、语言风格润色等优化建议。(智东西)

  1. 其他

提示词:清华大学、微软研究院和东北大学研究者基于进化算法思想,提出了一种离散提示词(Discrete Prompt)调优框架 EvoPrompt。基于几个初始提示,研究人员利用 LLM 模仿进化算子生成新的候选提示,并保留在开发集上性能更好的提示,通过多次迭代提高提示词的质量。相比与手动设计、以前的自动提示生成方法。EvoPrompt 能持续获得更好的提示词。(新智元)

对齐:天津大学熊德意教授团队发布了大语言模型对齐技术的综述论文,全文共 76 页,覆盖 300 余篇参考文献,从 AI 对齐的角度对大语言模型对齐的相关技术进行了全面概述。(机器之心|论文|参考文献)

投资:据科技新闻网站 The Information 报道,在宣布亚马逊 40 亿美元投资后不久,人工智能初创公司 Anthropic 正在就 20 亿美元融资进行早期谈判,潜在投资者包括谷歌。(机器之心|The Information)

投资:全球生成式 AI 过去五年投资共计超过 220 亿美元(2023 年已达 150 亿),其中 89% 流向美国。(新智元)

推荐技术报告:微软发布 166 页长篇报告,定性探讨 GPT-4V 的功能和使用情况。报道和原报告都很长,感兴趣同学请自行参考。(机器之心|报告)

推荐技术报告:近日,OpenAI 放出了 DALL·E 3 的 22 页技术报告,并讲解了其安全功能。除模型层改进,DALL·E 3 还增加了以下措施:

ChatGPT拒绝:ChatGPT 针对敏感内容和话题会拒绝生成图片提示。

提示输入分类器:分类器用于识别 ChatGPT 与用户之间可能违反使用政策的信息,违规提示将被拒绝。

屏蔽列表:在DALL·E 2 工作基础上、主动风险发现,以及早期用户的反馈结果,OpenAI 不断更新维护屏蔽列表。

提示改写:ChatGPT 会改写提示,包括删除公众人物的名字、将人物与特定属性联系起来,以及以通用方式书写品牌。

图像输出分类器:OpenAI 开发了图像分类器,可对 DALL·E 3 生成的图像进行分类,如果这些分类器被激活,可能会在输出之前阻止图像。(新智元|报告)

观点:MIT 研究者认为,大模型可以理解时间、空间等维度,可以被视为「世界模型」。在空间表征上,研究者对世界各地数以万计的城市、地区和自然地标的名称运行了 Llama-2 模型。他们在最后的 token 激活时训练了线性探测器,然后发现:Llama-2 可以预测每个地方真实纬度和经度。(新智元|论文)

观点:DeepMind 联合创始人 Mustafa Suleyman 接受 MIT 科技评论线上专访并抛出观点。“现阶段的生成式 AI 只是一个技术阶段,接下来会进入交互式 AI 的时代:AI 将会成为能够根据每个用户的不同任务需求去调用其他软件和人来完成工作的机器人。”在 Suleyman 看来,AI 的第一波浪潮是分类,之后是生成,再后为交互。(新智元|原文)

教育:国际 AI 顶会 AAAI 于官网宣布举办 AAAI 2024 全球大模型数学推理竞赛,由学而思牵头,谷歌、暨南大学等联合发起,邀请全球人工智能专家、开发者以及爱好者一起用大模型解答 K-12 中小学数学难题。比赛分为中文数学解题、英文数学解题两个方向,由学而思提供比赛所用的中英文数据集 TAL-SAQ7K-CN、TAL-SAQ6K-EN,主办方提供了 3 个作为参考的测评基准:GPT-3.5、GPT-4、好未来自研数学大模型 MathGPT。在比赛期间,参赛者需使用大模型对给定的数学题目生成推理步骤、答案,主办方将通过对比参赛模型输出答案与正确答案之间的准确率,来进行排名。(智东西)

二、其他

推荐谷歌 DeepMind 联合 33 家机构推出了机器人具身智能 Open X-Embodiment 数据集,并发布基于此数据集训练出的 RT-X 模型。该数据集从 22 个机器人实例中收集数据,涵盖超过 100 万个片段,展示了机器人 500 多项技能和在 150,000 项任务上的表现,是当前最全面的机器人数据集,有望解决机器人具身智能研究数据不足的问题。(机器之心|论文|项目|DeepMind)

树莓派 5 (Raspberry Pi 5)发布,相比前代全面升级,算力提升 2.5 倍,支持 PCIe、主动散热。售价也有对应提升,4GB 型号 60 美元,8GB 80 美元。(机器之心)

推荐迪士尼在 IROS 发布“生动”机器人。该机器人基于强化学习,与大部分机器人不同,迪士尼机器人专注于富有情感的的、可爱的姿态和动作。迪士尼研究科学家Morgan Pope表示:“大多数机器人科学家都专注于让他们的双足机器人能够可靠地行走。但在迪士尼,这远远不够。我们的机器人需要走得有模有样、会跳跃、小跑或漫游,以传达我们需要的情感。”(新智元(有视频)|IEEE Spectrum)

Hinton 加入 AI 机器人初创公司 Vayu Robotics 咨询委员会,帮助开发 AI 机器人解决方案。Vayu Robotics 正在设计用于本地送货的轻便低速机器人,这些机器人的动能仅为时速50英里汽车的1%,而且停车距离更短,因此更容易确保安全。据介绍,Vayu 致力于打造一个基础模型,来为大规模自主移动机器人提供动力。(新智元)

AI头条--OpenAI首席科学家的无监督学习理论--Aug-Week4-2023

1.大模型动态

1.1 直接压缩一切!OpenAI首席科学家的无监督学习理论

OpenAI 首席科学家 Ilya Sutskever 作了一次讲座分享,主要观点一句话总结就是我们可以通过压缩的视角来看待无监督学习。此外他还分享了不少其它有趣的见解。

  • 关于监督学习

    • 监督学习的优势在于能提供一个学习必定成功的精确数学条件。

    • 如果你有一些来自某数据分布的数据,并且你的训练数据足够多(多于数据分布的自由度),那么你的测试误差必定很低(前提是你能成功实现较低的训练损失)。

    • 有数学定理可以证明——“如果能在一类函数中找到能实现较低训练损失的函数,那么学习就必定成功”

  • 关于无监督学习

    • 无监督学习目前没有数学理论支撑,只能做一些直觉推断。

    • 无监督学习是什么——即模型在不被告知数据内容的前提下观察数据并发现其中存在的真实有用的隐藏结构。

    • 实验中观察到的现象,当数据量较小时,不会出现无监督学习现象。

    • 压缩就是一种预测,每个压缩器都可以转换为一个预测器,反之亦然。全体压缩器与全体预测器之间存在一一对应关系。

    • 压缩器越好,其能提取出的共有结构就越多。

image.png

基于Kolmogorov 压缩,提出了一种描述无监督学习的数学表达,并探讨了背后可能得数学理论.常规 Kolmogorov 压缩(无需以某个数据集为条件)是「以最好的可能方式使用」无标注数据。这就是无监督学习的解。

自回归模型在线性表征方面的表现优于 BERT。但目前人们还不清楚其中的缘由。

Ilya Sutskever 在处理向量时会丢弃一些像素 token,通过兼顾地考虑一点过去和一点未来,模型实际上能得到相当好的预测结果。这样一来就去除了所有困难任务,任务的难度就下降了很多。给出了自己的推测:BERT 在处理向量时会丢弃一些像素 token,通过兼顾地考虑一点过去和一点未来,模型实际上能得到相当好的预测结果。这样一来就去除了所有困难任务,任务的难度就下降了很多。

1.2 GPT-3.5 Turbo 对企业客户开放微调

GPT-3.5 Turbo 对企业客户开放微调。早期测试证明,GPT-3.5 Turbo 微调版本的能力在一些小范围任务上可以媲美甚至超越基础 GPT-4 模型。OpenAI 表示,此次微调 API 的传入和传出数据完全归客户所有,它自己或任何其他机构都不能使用这些数据来训练其他模型。这一做法保证了客户数据的安全性和隐私性。

1.3 文本描述创建短动画的全自动方法

CMU 和 Snap 研究人员构建根据文本描述创建短动画的全自动方法 Text2Cinemagraph,输入类似于“一条河流在山前向右流,使用「星空」风格”,即可生成高质量视频。

目前,现有的单图像动画方法在艺术输入方面存在问题。而最新的基于文本的视频方法经常会造成时间上的不一致,难以保持某些区域的静态状态。为了应对这些问题,研究人员提出了一种新的想法,即通过单个文本提示来合成”图像孪生”,即一对艺术图像及其像素对齐的现实图像。艺术图像展现了文本提示中描述的风格和外观细节,而现实图像则简化了布局和运动分析。通过利用现有的自然图像和视频数据集,Text2Cinemagraph能够准确地将现实图像分割,并根据语义信息预测合理的运动方式。随后,这些预测的运动可以应用到艺术图像中,从而创造出最终的电影动画效果。

image.png

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、写网络小说、写周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

AI技术行业动态头条-- UC伯克利发布了一个与GPT-4同级的模型——Vicuna v1.5-- Aug-Week3-2023

1.大模型产业动态

1.1 Vicuna1.5发布

基于Llama 2模型,UC伯克利发布了一个与GPT-4同级的模型——Vicuna v1.5。该模型支持4K和16K上下文长度,并在多数基准测试中表现出色,获得了SOTA的成绩。从3月发布至今,Vicuna已迅速成为顶级的聊天LLM之一,尤其在多模态、AI安全和评估方面展现了前沿的研究成果。上个月,该模型在Hugging Face平台上的下载量已突破200万次,且得到了著名学者LeCun的关注和分享。

用户可以通过特定命令从Hugging Face下载并使用该模型,同时还有关于命令行界面推理和内存不足处理的详细指南。需要注意,使用16K版本需要transformers版本不低于4.31。

目前,已有在线demo供大家体验。

1.2 ChatMini

智能设备:丹麦音响品牌 Vifa 将推搭载 ChatGPT 和文心一言的音箱 ChatMini,主打高情商陪伴畅聊。

  1. ChatMini 能联系上下文理解意图和生成更准确的答案;
  2. 可根据输入语音内容自动生成文本风格和内容,包括撰写诗歌、歌词、代码、文章等;同时拥有人格特征,具有更丰富的情感表达,能给用户带来更真实和亲近的体验。
  3. 售价 259 美金,合人民币 1800 元。

    感觉是华人创办的公司

1.3 小米发布新一代仿生机器人 CyberDog2

小米发布新一代仿生四足机器人 CyberDog 2

  1. 体重 8.9 kg,身高 36.7cm(vs 上一代重量减轻 40%,体积缩小 16%)。
  2. CyberDog 2 基于小米自研的微电机系统 CyberGear,重量 317 克,最大扭矩 12N.m;响应时间 20 ms,目前可以保持平衡,前后空翻,玩滑板等。
  3. 售价 12,999元。

2 大模型学术动态

2.1 一种高效的微调技术QLoRA

华盛顿大学的研究人员首次证明,在不损失模型性能的前提下,也可以微调量化的4位模型。

QLoRA的高效微调量化语言模型的方法。主要内容包括:

  1. QLoRA利用4bit(INF4)量化在单GPU上就可以微调65B参数模型,效果接近16比特精度。
  2. QLoRA通过一系列创新如4 Bit NormalFloat等来节省内存不损失性能。
  3. 基于QLoRA微调的Guanaco模型在Vicuna基准测试上超过其他开源模型,达到ChatGPT 99.3%的表现。
  4. 作者在8个指令数据集上微调了超过1000个模型,发现在小而高质量的数据集上QLoRA微调效果最好。

2.2 Meta 发布大语言评估模型- Shepherd(牧羊人)

目前开源社区的LLM,都是羊驼家族,为了让羊驼家族变得更好。Meta提出大语言评估模型- Shepherd(牧羊人)用于评估大模型的响应并提出改进建议。

  1. Shepherd的设计目标是仔细检查模型的回复,识别其中的问题,并提出改进的替代方案。
  2. 该工具使用了一个来自社区输入和人工注释的反馈数据集,通过与ChatGPT等突出的AI模型比较来展示其能力。
  3. 根据Meta的数据,Shepherd在与其他模型的互动中保持了53%到87%的令人印象深刻的成功率。

Shepherd的出现可能会推动AI工具的进一步发展,使其更加完善,提供更好的答案,甚至可能掌握了理解人类微妙之处的艺术。

2.3 研究表明GPT-4插件大幅增强模型能力

来自纽约大学和德克萨斯大学奥斯汀分校的Ernest Davis和Scott Aaronson发表了一篇关于测试GPT-4与Wolfram Alpha和Code Interpreter插件在数学和科学问题上的表现的论文。作者设计了包含105道测试问题的三个题集,内容涵盖中学和大学课程,对GPT-4与插件的问题解决能力进行了测试。
研究发现,与单独的GPT-4相比,结合插件后的GPT-4在这类问题上的表现有显著提升,但仍存在一定困难,无法100%准确可靠地解决所有问题。从整体上看,GPT-4与插件的表现可达到本科生中等水平,但其优势和劣势与人类学生存在差异。GPT-4能解决一些复杂的问题,但在某些简单问题上也会失败。
但是,GPT-4与插件之间尤其是与Wolfram Alpha之间的接口仍需改进,GPT-4常难以将问题转换为插件可以处理的形式。此外,GPT-4没有充分利用插件的专业计算能力,没有将一些计算工作完全委托给插件,导致了一些可避免的错误。GPT-4在需要空间思维的问题和组合多种计算的问题上较弱,也难以处理极值。

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、写网络小说、写周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。

AI头条-- Mistral AI开源MoE 8x7B --Dec-Week2-2023

Mistral AI开源MoE 8x7B

Mistral AI于社交平台X发布开源模型MoE 8x7B,提供了一个87G种子文件链接。MoE 8x7B使用了与 GPT-4 非常相似的架构,但是「缩小版」:采用基于decoder-only架构的稀疏专家混合网络,8 个专家,而不是16个 ;46.7B 总参数而不是 1.8T;实际执行速度和所需的成本都只相当于一个 12.9B 的模型。MoE 8x7B支持英、法、意大利、德语和西班牙语,支持与原始 GPT-4 相同的 32K 上下文。

团队自豪地发布了Mixtral 8x7B,这是一个高质量的稀疏专家混合模型(SMoE),具有开放权重。根据Apache 2.0许可。Mixtral在大多数基准测试中比Llama 2 70B表现更好,推理速度提升了6倍。它是具有宽松许可证的最强大的开放权重模型,也是在成本/性能权衡方面最好的模型。特别是,在大多数标准基准测试中,它与GPT3.5相匹配或表现更好。

image.png

image.png

image.png

测评结果表明,Mixtral 8x7B已达到甚至超越了Llama 2 70B和GPT-3.5的水平。目前Mistral官方已宣布上线API服务,不过仍然是邀请制。值得注意的是,API分为三个版本,此次公布的MoE 8x7B算是小号(Mistral-small),还有更大的版本Mistral-medium,对应模型尚未公布。

谷歌推出Gemini家族大模型

谷歌推出了名为Gemini的AI模型,它是他们迄今为止最强大和通用的模型,能够跨多种信息类型进行理解和操作。Gemini在多个领域的性能超越了现有的模型,并具有先进的多模态推理能力,可以应用于复杂的任务,如文本理解、图像识别和编程等。谷歌将逐步在其产品和平台中推出Gemini,以帮助人们更好地利用AI技术。
image.png

谷歌宣称Gemini 比 GPT4 还要强。但是被证明宣传材料有所作假。
根据社交媒体的测试发现,谷歌中文采用了百度文心一言的数据。
image.png

智写AI介绍

智写AI是免费万能的ai写作聊天机器人。ai免费帮你写作文、写论文、写材料、写文案、周报月报、公务员材料、行政报告、写英语作文、写小说剧本、写短视频脚本、写营销文案等等,还能写代码。它能教你python、java、C#、C、javscript、Golang编程、系统架构设计、系统开发。它还能教你简历制作、简历模版,给你做心理咨询、给你讲故事、陪你玩文字游戏等。