产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

当我想要构建一款 LLM 应用时:关于技术栈、省钱和游戏规则

  • 2023-09-20
    北京
  • 本文字数:5015 字

    阅读完需:约 16 分钟

当我想要构建一款 LLM 应用时:关于技术栈、省钱和游戏规则

“虽然在 2012 年到 2015 年间,深度学习在图像识别领域获得了巨大成功,但要达到通用人工智能,还需要时间。”这是读研究生时刘小洋的老教授告诉他的。


自然语言理解是走向通用人工智能的关键,但当时整个行业没能迈出这一步。机器学习框架 TensorFlow 曾一度名声大噪,“当年很多人都学习 Tensorflow,但是我从头到尾没有学过,因为我的一些朋友特别是学术圈的朋友认为,它已经是过去式了,不会再有什么前途。”


如今,刘小洋已经是哥伦比亚大学电子工程系研究员。这么多年过去,时间终于给出如何走向通用人工智能的答案:ChatGPT。ChatGPT 的意外突破让包括刘小洋在内的学者们和企业里的研发人员看到了希望。“我不想落后,”刘小洋随后便投入了自己的开源模型创建中,而他的这句话也道出了众人的心声:是的,没人想在这场竞赛中落后。

让人感受到了“温度”


真正影响深远的技术突破并不出现在 ChatGPT 引领的这次浪潮中,而是在五年前。2017 年,谷歌发表了划时代的论文:Attention Is All You Need,创新性地提出了神经网络架构 Transformer,Transformer 后来成了许多模型的主导架构,包括我们熟知的 GPT。


OpenAI 基于 Transformer 从 GPT-1 开始做起,但直到 GPT-3,普通大众才看到了 GPT 的强大能力。OpenAI 的关键突破在于 GPT-3 让人机对话变得更有“温度”,人们开始将人工智能应用看作有情感、有理解能力的“生命体”。


具体来看,ChatGPT 的学习流程主要分三个步骤:第一步,训练监督调优模型,主要收集数据、训练有监督的策略模型;第二步,训练奖励模型,人类标注者对监督调优模型的输出打分,这个分数反映了被选定人类标注者的偏好,这个偏好多数情况下是符合人类共同认知的;第三步,使用近端策略优化模型微调监督调优模型。这其中的关键在于用人类反馈来强化学习不断提升效果,最后让用户感觉“就像在跟人对话”。


这种优化后的对话体验促进了人与计算机交互方式的发展,即从 GUI(Graphical User Interface,图形用户界面)变为了 LUI(Language User Interface,语言用户界面),用户可以用自然语言表达需要,而不需要记住特定的命令或点击特定的图标。


交互方式的改变意味着用户习惯的改变,进而可能导致与 IT 有关的各行各业都或多或少受到冲击。对开发技术栈的一个显著影响就是,应用将以某个庞大的通用模型为基础设施。就如李彦宏所说,人工智能时代,IT 技术栈发生的根本性改变是从原来的芯片、操作系统和应用三层架构,变成了芯片、框架、模型、应用四层架构。LLM(Large Language Model,大型语言模型)成为了人工智能时代的操作系统,所有应用都将基于 LLM 开发。


具体来看,之前的 NLP(Natural Language Processing,自然语言处理) 技术栈相对较浅,假设需要对一段文本进行词向量表示,要先将这段文本转化为词向量,然后将向量数据输入到模型中处理,最后模型输出结果。整个过程可以看作是由输入端到输出端的多个阶段组成,一个小团队就可以完成架构搭建。虽然这种技术栈有助于保持一致性,但对于 LLM 来说,这种方式能力差强人意,还不够“性感”。


对于新的 LLM 应用技术栈,目前流传较广、也较为全面的是硅谷风投公司 Andreessen Horowitz 发布的下面这张图,图中涵盖了数据管道、API 插件、存储、LLMOps、日志等方方面面。



而 LLM 应用理念的基本组件有四个:数据源、数据工程、LLM 和应用程序。其中,数据源层是管道的起点,负责协调从各种来源获取大量数据;数据工程层专注 NLP 数据的实时处理;LLM 层是核心,包括各种微调方法等;应用层则面向个人用户,提供咨询、程序开发等不同的服务。

LLM 应用开发,更简单


目前,业内将 LLM 分为两类:通用模型和行业模型。通用模型面向各种通用功能设计,通常由资源丰富的大公司主导,如 OpenAI、Google 和 Meta。但在电商、客服和辅助教学等特定行业场景下,通用模型并不完全适用,同时个人或小型企业在业务规模较小时也没有足够的资源支撑通用模型,这时的另一个可选项就是用特定场景数据对通用模型微调得到的行业模型。


在这种分类影响下,LLM 应用主要有两种:基于通用模型构建的应用和基于特定行业模型的应用。


对于前者,开发者在通用模型的支持下,直接调用 API(Application Programming Interface,应用程序编程接口)就能够构建很多应用。许多企业会选择直接购买通用模型提供商发布的 API,如 OpenAI 提供的 GPT-4 接口,并在上面进行 UI(User Interface,用户界面)开发。开发过程中,开发者输入自然语言就可以实现开发操作,这个过程更像是一种交流,而不是僵硬的执行。


与此同时,企业还会开发很多功能不同的插件集成到应用中,让应用变得更加丰富和灵活。插件模式在国内得到了广泛应用,无论是要开发一个新的应用,还是嵌入到现有的像 Slack、微信等平台,插件模式都具有极强的渗透力。


这种使用 API 的开发模式会让 LLM 应用在未来很长一段时间里趋于标准化。不过,这种模式主要依赖大公司发布通用模型进行更新和迭代,企业用户虽然可以更方便地使用通用模型,但很容易跟不上大公司的迭代速度。


对于后者,企业可以通过微调拥有自己的行业模型,进而构建相应的应用。模型微调具备少数据、少参数、强任务的泛化能力,具体实现方法很多,不少企业开发者都在尝试。


据悉,30B 参数以上规模的 LLM 比较适合用来构建应用:能力足够强,显存需求最低但还有扩展空间。开发者可以根据场景特点做取舍,比如金融领域的量化表达应用不必是 32 位或 64 位浮点数,8 位就足够好,但不能再降低否则性能会大幅下降。内存方面,8 位浮点数至少要 10G 左右,移动端还可以考虑用通信换存储。


目前,中美 LLM 应用的软件技术栈存在一些区别。美国更倾向于水平分层的结构,即某些公司如 OpenAI 位于通用模型的层级上方,并给下游公司提供接口,下游公司再将服务提供给最终用户。


相比之下,国内更多采用垂直分层的结构。国内企业目前在生成式人工智能技术上处于相对劣势的位置,如果做不出高度先进的通用模型,那就会将精力放在寻找大量合适的应用场景上,这些企业能够自行训练开源的通用模型得到自己的行业模型,并直接服务于特定的垂直领域。


事实上,业内人士普遍认为,国内的机会就在于行业模型。行业模型拥有行业数据优势,只需要修改开源通用模型代码、投喂特定的行业数据,并服务于已有的用户来优化体验,就可以达到降本增效的目的。因此,紧密贴合具体应用场景的行业模型,像金融、医疗、教育等在数据方面有独特优势的 LLM 项目备受风投们青睐。


“当前比较流行的通用模型 ChatGPT 和 Llama2 已经做得很好,OpenAI、Meta 早期投入了巨额 GPU 算力成本、训练了海量数据,也提供了比较好的产品体验,如今大量用户涌入又提供了新的数据帮助企业优化模型,已经形成了‘强者恒强’的趋势。”Chainfir Capital CEO 田大超表示。另外,基于通用模型的应用还存在大量技术不成熟的地方,风投们认为过早投入这一领域的风险太高,很难形成规模效应。

构建 LLM 应用的省钱之道


都知道做 LLM“烧钱”,但到底能“烧”多少?我们可以姑且看下 Bloomberg 训练出来的金融大语言模型 BloombergGPT。


BloombergGPT 参数规模高达 500 亿,使用了包含 3630 亿 token 的金融领域数据集以及 3450 亿 token 的通用数据集。虽然测试中这个模型在金融方面表现不俗,但 BloombergGPT 有着密集的计算需求,使用了大约 130 万 GPU 小时进行训练,以亚马逊云科技 2.3 美元的费率计算,每次训练成本已经接近惊人的 300 万美元了。可以说,一般企业承担不起这样的费用。


开源是现在大家降本的基本解法。比如与 BloombergGPT 相比,同为开源金融模型的 FinGPT 通过专注于顶级开源 LLMs 的轻量级改编,提供更容易访问的解决方案,可以让训练成本大幅下降,每次训练费用不到 300 美元,成本下降了 1 万倍。


在训练 LLM 的时候,业内也会通过给 LLM“瘦身”的方式降低成本。比如对于 7B、13B 的 Llama 2,开发者首先可以做一定的限制,如将其调整为 Int8 类型以减小模型尺寸。接下来,开发者可以对模型进行低复杂度微调,具体做法是将原本线性的 QKV(Query,Key,Value)层设计简化成更为精简的结构,即将权重矩阵分解成多个小矩阵,从而大幅减小 LLM 的规模。



示意图,来源:https://arxiv.org/pdf/2205.05638.pdf


刘小洋团队研发的开源金融模型 FinGPT 就是通过使用 LoRA(Low-Rank Adaptation of Large Language Models),将可训练参数数量从 61.7 亿减少到仅有 367 万。整体下来,该模型在显存方面的需求从 38G 降低到了大约 13G,而且微调所需的时间也被显著缩短,通常在 8 个 GPU 小时内就可以完成,有时甚至只需要 6 个小时,而费用则保持在 1000 元以下,甚至低至 600 元。与此同时,FinGPT 的性能提升了 30%。


以上数据显示出了企业在利用开源大型模型进行微调时可以拥有的强大成本优势。在进行 LLM 微调时,通常需要直接调整模型的权重,而那些提供基础模型 API 的企业则更多是提供接口服务,如果购买模型的权重,费用将会高得多,并且可能需要签署保密协议,预计花费可达在 2000 万人民币左右。


另外一项不可忽视的成本就是人力。田大超以这段时间爆火的妙鸭相机为例道,这样一款产品的开发周期实际上很短,起初团队也就 7 个人左右,就是他们内部被称为“AIGC 破壁行动小组”的一个以张月光为 leader 的小团队,也就用了 6 个月左右的时间就做出来了。这样一款 LLM 应用总投入成本大概是小几百万人民币,其中人工成本占大头,其次是租用算力的成本和调用 API 的成本。

LLM 应用,终归还是生态游戏


目前生成式人工智能领域的上下游关系已经逐渐建立起来了:上游是芯片厂商,如英伟达;中游是通用级别的大模型公司,如 OpenAI;中下游是细分领域的大模型厂商,如 Bloomberg;下游就是一些 LLM 应用,如 Midjourney。普通用户最能感知到的就是面向 C 端的各种 LLM 应用,比如 AI 绘画工具 Midjourney、Stable Diffusion,AI 音频生成工具 Forever Voice 等。


一方面,现在 LLM 应用的研发方式决定了“生态”的重要性。比如,使用 OpenAI GPT 模型的用户自成一个生态,使用开源 Llama 模型的用户又自成另一个生态,最后开发者选择哪一种研发方式本质上就是选择进入哪个生态。


另一方面,以搜索为例,将 ChatBot 整合到搜索引擎这样的大型平台中,需要足够庞大的搜索引擎用户基础,这样才能够迅速解决可能出现的问题。开发者必须具备全网范围内思考的能力,了解全球用户的搜索习惯,对信息检索有充分的理解。然而,并非所有人都能做到这一点。因此,“整合”游戏说到底还是生态游戏。


LLM 应用的本质还是商业产品,营收模式还是以用户付费购买服务为主,比如妙鸭相机要付费后才给用户改变形象后的照片,这与美图秀秀收会员费类似。这种模式与过去各种应用的商业逻辑是一样的,即用户流量为王。


用户在谁家,谁才能笑到最后。就像刘小洋说的,在 IT 行业,有许多第一批实践者最后成为炮灰的案例,能否走到最后取决于用户选择哪家公司、用户对什么产品感兴趣。广大用户构成最终市场,这个市场进而支撑起大模型的更新迭代。


当前,行业模型发展的关键已经不是模型本身的能力如何,而是它们在某一领域的专业知识、专业数据的积累,专业能力多强,它们未来的壁垒就有多高。


未来短期内,通用模型和各领域的行业模型赛道,最后可能分别只有一两家企业能够脱颖而出。而长期看,做得好的通用模型可能会创造巨头公司。同时,随着通用模型的专业度越来越高,通用模型会掌握大多数垂直领域的专业知识,不排除未来行业模型被通用模型替代的可能。

结束语


LLM 应用刚起步不久,如果要长期发展下去,每个环节都面临着不同的问题:在算力方面,电子芯片的能耗太高,70% 的能耗被用在散热上,这造成了巨大的能源浪费,行业急需出现效能更高的芯片;在算法方面,人工智能发展到一定阶段后可能会面临数学领域最高深问题,算法也需要不断提高和优化;在数据方面,隐私、数据所有权等问题亟待解决,尤其随着人工智能的快速发展,政府、机构、公司和个人都极其关心自己的敏感数据是否会泄露,数据处理变得十分重要。


可以看出,LLM 应用行业未来需要努力的地方还有很多,但这也是留给后来者的机会。现在处在技术前沿、风光无限的企业未来未必一定成功。如今竞赛才刚刚开始,入局的开发者们如何能在这条路上一直走下去,还需要时间给出答案。


采访嘉宾简介:


刘小洋,哥伦比亚大学电子工程系研究员,伦斯勒理工学院计算机系讲师,开源项目 FinGPT、FinRL 和 ElegantRL 的主创


田大超,Chainfir Capital CEO


2023-09-20 17:235652

评论

发布
暂无评论
发现更多内容

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

BlockChain先知

Istio与Mcp Server服务器讲解与搭建演示

谐云

istio

MySQL:我的从库竟是我自己!?

爱可生开源社区

六月更新 | MeetingOps:让有效协作与高效会议共同发生在云端

CODING DevOps

Gluten + Celeborn: 让 Native Spark 拥抱 Cloud Native

阿里云大数据AI技术

后端 企业号 7 月 PK 榜 Push Shuffle

Last Week in Milvus

Zilliz

云服务 非结构化数据 Milvus Zilliz zillizcloud

MySQL生态的下一代HTAP数据库创新与实践 | StoneDB邀您参加第12届数据技术嘉年华(2023 DTC)

StoneDB

MySQL 数据库 StoneDB

数智浪潮!低代码开发平台扬帆迈向智慧诊疗领域新纪元!

不在线第一只蜗牛

人工智能 低代码 数智化 医疗健康

低代码平台之流程自动化测试

鲸品堂

低代码 企业号 7 月 PK 榜

神州数码:我们和阿里云是市场和技术的共同体

新云力量

云计算 阿里云 神州数码

华为云“All in ”大模型:革命性助推!华为盘古3.0点燃人工智能巨星之梦

EquatorCoco

华为云 盘古大模型 大模型 数智化

API全场景零码测试机器人——ATGen带来“超自动化”测试模式

华为云PaaS服务小智

云计算 华为云 华为开发者大会2023

活动回顾 | StoneDB亮相2023数据技术嘉年华:增强AP、升级TP、信创替换,让万千DBA用得更省心,企业用得更省钱

StoneDB

数据技术 StoneDB 数据技术嘉年华

【HDC.Cloud 2023】华为云区块链分论坛内容值得再读!

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023

低代码平台实用吗?有哪些大型企业在用低代码?

优秀

低代码

数字税务时代的革新利器:低代码开发平台助力税务办公数字化大步迈进!

快乐非自愿限量之名

人工智能 低代码 数智化 税务云

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

股市老人

春分将至,发版当时:StoneDB-5.7-v1.0.3版本正式发布!优化主备能力,提高主从同步性能,众多细节优化,快来体验~

StoneDB

版本更新 StoneDB

StoneDB 开源社区月刊 | 202303期

StoneDB

MySQL 数据库 StoneDB

软件测试/测试开发丨Windows系统chromedriver安装与环境变量配置

测试人

软件测试 windows 环境变量 测试开发 chromedriver

国家电投江西公司与特斯联设立合资公司 发掘资本在新能源行业的潜在投资机遇

TE智库

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

威廉META

2023-07-10:Kafka如何做到消息不丢失?

福大大架构师每日一题

福大大架构师每日一题

面向大模型的存储加速方案设计和实践

Baidu AICLOUD

数据湖 大模型 并行文件系统 缓存加速

从零开始的知识图谱生活,构建一个百科知识图谱,完成基于Deepdive的知识抽取、基于ES的简单语义搜索、基于 REfO 的简单KBQA

汀丶人工智能

人工智能 自然语言处理 深度学习 知识图谱 智能搜索

超级App快速开发的一种创新模式

FinFish

小程序 小程序生态 超级app 小程序化

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

鳄鱼视界

OpenTiny 前端组件库正式开源啦!面向未来,为开发者而生

OpenTiny社区

开源 前端 UI组件库

消除企业信息孤岛的低代码开发平台

力软低代码开发平台

Region Failover在GreptimeDB 集群中的实现

Greptime 格睿科技

时序数据库 云原生数据库 failover region datanode

当我想要构建一款 LLM 应用时:关于技术栈、省钱和游戏规则_生成式 AI_褚杏娟_InfoQ精选文章