写点什么

像 Docker 一样编排大模型应用程序:这支十余人的年轻创业团队如何在 2 个月做出一个 LLMOps 平台?

  • 2023-11-13
    北京
  • 本文字数:6494 字

    阅读完需:约 21 分钟

大小:3.05M时长:17:45
像Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?

采访嘉宾 | 张路宇

作者 | 凌敏

 

大模型浪潮正在重构千行百业。可以预见的是,随着技术的不断进步以及应用场景的不断扩展,基于大模型的 AI 应用将会不断涌现,并成为推动 AI 产业发展的重要力量。

 

但在当下,大模型应⽤落地还面临诸多挑战。具体而言,不少开发团队还未适应大模型编程的需求,对大模型的实际应用场景理解、工具的选择(例如中间件、向量数据库等),以及团队的协作模式、如何构建 Prompt 等方面都存在一定的认知偏差。在应用大模型的过程中,如果仍采用传统的软件工程方法,很可能会遇到困难。因此,开发团队需要在大模型技术栈方面建立更多的共识,对于如何使用 RAG(Retrieval Augmented Generation)或者微调等应该有更明确的工作流程。

 

“我们对大模型的未来潜力持乐观态度,它确实能够带来巨大的价值。但我们也发现,很多开发者和行业专家都会谈论大型模型的未来,而不是现在。”Dify.AI 创始人兼 CEO 张路宇近日在接受 InfoQ 采访时提到,目前大模型的实际落地和应用仍然不够成熟,当前大众对大模型的期望值与实际技术发展并不匹配。开发者要想在当前技术的范围和边界内做出权衡,并创建出优秀的应用程序,是一项具有挑战性的任务。

 

在这一背景下,2023 年 3 月,张路宇带领团队创建了开源 LLMOps 平台 Dify.AI,旨在帮助开发者更简单、更快速地构建 AI 应用,开发者无需关注基础设施的底层原理,只需专注于将想象力转化为实际落地的 AI 应用并持续运营。据介绍,Dify 一词源自 Define + Modify,意指“定义并且持续的改进你的 AI 应用”,代表了帮助开发人员不断改进其 AI 应用程序的愿景。此外,Dify 可以理解为 “Do it for you”。

 

目前,Dify.AI 的 GitHub Star 数已经超过 9k,支持的大模型包括 OpenAI 的 GPT 系列、Anthropic 的 Claude 系列、Azure OpenAI 系列、Llama2、ChatGLM、Baichuan、Qwen-7B 等等,并拥有超过 7 万个基于大模型的应用。

 

GitHub 地址:

https://github.com/langgenius/dify

创业需要天时、地利、人和

 

“我不是一个轻易创业的人。我喜欢从零开始与多年来紧密合作的伙伴一起构建产品,因为我们之间默契十足,有共同的认知。我擅长做冷启动、从零到一的创新项目,并特别享受这个过程。我们有足够的耐心,不仅仅是为了快速赚钱,而是要基于我们的优势和价值来创造事物。”眼前这个年轻的创业者名叫张路宇,他拥有超过 11 年的互联⽹从业经验,对产品设计、敏捷项⽬管理、 DevOps、学习型组织⽂化与 Web 应⽤开发有着深刻理解。在创办 Dify.AI 以前,张路宇曾担任 SaaS 公司技术产品负责人,在企业服务、⼯具软件领域的 SaaS 产品、运营和技术管理上有着丰富经验。

 

在张路宇看来,创业不是一件头脑一热的事情,而是需要天时、地利、人和的全方位考虑。

 

天时方面,去年年底 ChatGPT 大模型的爆火成功掀起了 AI 大模型热潮,无数开发者涌入 AI 赛道,开始基于 AI 大模型做应用创新。然而,彼时市场上的中间件和 LangChain 等框架并没有完全产品化,缺乏持续运营和面向非技术人员友好的理念。

 

张路宇认为,在大模型时代,技术和非技术人员都应该有机会参与大模型的构建和定制。但实际上只有少数程序员在进行这样的工作,大多数人虽然拥有领域知识,却无法参与。“这促使我们考虑基于大模型的微调和嵌入式二次开发,但这个过程非常痛苦,缺乏界面化,数据准备工作也很复杂。到了 2023 年 2 月,当我们尝试将大模型集成到自己的产品中时,发现了很多问题。同时,我们也没有找到市场上任何好的产品,于是决定着手解决 LLMOps 问题,这就是我们创建 Dify 的初衷。”

 

地利方面,Dify 团队立足于国内,以苏州为基地。过去很多国内公司采用“复制到中国”的模式,复制海外的产品并在中国市场推广,但这个路径并不适合中国的 SaaS 市场。张路宇认为,做产品最大的难点并不是技术工程,而是找到未被满足的市场需求,这是一项极具挑战性的任务。如今,中国团队在大模型领域与欧美团队站在同一起跑线上,市场虽然不是完全空白的,但仍处于早期状态。同时,中国团队在组织能力、产品能力和成本三大方面具有优势。以往中国团队在创新价值不足的情况下,通常将工作转变为劳动密集型,因此软件团队面临很大压力。但在大模型时代,中国团队有机会在全球市场同其他团队竞争。

 

人和方面,张路宇在 Dify 项目启动之初迅速召集了 16 位团队成员,其中大多是他的老朋友或信任的人,大家志同道合,都对 SaaS 和工具行业充满热情。“在创业初期,一些朋友和投资人认为市场潜力巨大,但竞争也激烈。云服务提供商、大模型公司以及机器学习和运营的公司都进入这个领域。我们的挑战在于如何应对竞争。这需要认知,团队的默契、执行力和品味等多元因素。虽然融资可能不难,但要构建一个团队并取得成功非常困难。”

 

与其他技术团队相比,张路宇认为 Dify 团队的优势在于大家深耕开发者产品领域,深刻了解开发者需要的工具体验。团队在产品设计和交互设计方面积累了丰富的知识和经验,能够开发出用户友好且高质量的产品。同时,Dify 团队在国内从事开发者业务四年以上,对国内开发者市场的特点、需求和市场规模有比较清晰的认知,了解不同类型的客户在决策流程和购买习惯上的差异,能够更准确地定位产品在不同市场的定价策略。

 

此外,Dify 团队从 DevOps 领域带来了宝贵的经验,“我们坚信所有的 AI 应用最终都需要部署和运维,因此我们注重成本控制、可用性监测和数据运营。我们认为 LLMOps 非常重要,因为它可以让非技术人员更好地参与到 AI 应用的运作中。”

 

目前,大家对 LLMOps 普遍存在两种理解:一种是偏向后端,即模型的运维,既延续了传统 MLOps 的理念,又专注于基于大型模型进行训练和推理等任务;另一种更偏向前端,核心在于 Prompt 工程和问题的编排,而与外部数据的接入等因素可能关系较小。Dify 团队更偏向于后者,他们认为更准确的描述应该是“大型模型应用的运营”——大模型在发布后通常不需要太多运维工作,而且“Ops”对于大多数开发者来说可能不那么相关。

 

“我们对 LLMOps 的核心理解保持不变”,张路宇表示,首先,大模型应用的运营至关重要,包括其可视化、透明度和可解释性,这与传统软件工程的部署环节非常相似,不能被忽视。关键理念是通过实时数据持续改进应用模型或数据,而不是通过一次性的并行决策。其次,LLMOps 应该面向所有人,而不仅仅是技术人员。“只有实现了这两点,我们才能认为它是真正的 LLMOps,大多数人都可以参与其运营,并且该运营基于线上反馈数据来不断改进应用程序。”

大模型时代的创业范式

 

从 2023 年 2 月份开始筹备,到 3 月 1 日正式启动,再到 5 月初成功上线第一个正式版本,Dify 团队始终保持着创业公司的快节奏。

 

张路宇认为,在大模型和快速变化的市场中,团队需要成为学习型组织,积极吸收和处理大量信息,并将其整合到产品开发中。这对于应对不断变化的市场需求非常关键。

 

在 Dify 团队,尤其注重技术前沿信息的探索研究。具体来说,Dify 团队设立了一个信息加工机制,类似于一个知识库,其中包含大量有关市场情报、技术前沿和新项目的信息。团队成员每天采集各种信息,并将其分类整理。这个信息组织机制是核心资产之一,已经积累了上千条资讯,并持续对其进行加工和分类。信息分类涵盖了大模型、云厂商、软件工程、中间件基础、应用等多个层次。团队通过关注科学进展、最新技术论文、头部产品和趋势,指导自身做决策,并从其他行业的经验中汲取教训。

 

“这个信息组织机制面临着复杂、快速变化和高度规则化的挑战。它需要确保团队中的每个成员都能共享相同的认知,并能够快速适应不断变化的市场需求。这个信息组织机制对我们的团队来说是一个重要的工具,可以帮助我们更好地理解市场和技术趋势,从而为产品的发展提供指导。同时,它也是我们团队应对市场变化和快速决策的关键因素之一。”张路宇说道。

 

在 Dify 整个产品设计与开发过程中,也出现了大模型的身影。据介绍,在 Dify 早期产品的原型阶段,GPT-4 发挥了重要作用。当时,Dify 团队采用 GPT-4 来创建概念设计和原型设计,GPT-4 能够非常准确地理解产品需求,并提供许多创意性的解决方案。目前,Dify 的代码量已经超过 9 万行,与一些主流项目相比,代码量和复杂度不相上下。在 Dify 的开发过程中,GPT-4 参与了其中 40% 左右的编码,AI 辅助编程让 Dify 团队的开发效率提高了至少一倍。

 

“对我个人而言,我觉得我的编程效率可能提高了 3 倍以上,甚至可能更多。如果你是一个能够调动大量资源的工程师,你就像一支强大的军队,那么 AI 会让你更强大数倍。但如果你原本不是那么强的工程师,缺乏宏观的设计能力,只是逐行编写代码,那么 AI 对你的帮助就相对较少。”张路宇认为,在善用 AI 的情况下,理论上一个团队可以实现 3 倍的产能,而不需要增加人员。“这是我观察到的情况,我身边的团队都在积极拥抱 AI 编程,我们的团队全员都在使用,他们确实认为这可以为他们带来巨大的帮助。”

开源与商业化探索

 

在创业的前几个月,Dify 团队完全没有收入,第一个正式版本上线后,如何商业化成了团队的下一个目标。

 

在商业化这件事上,张路宇有着自己的判断——开源,“如果不开源,我们将无法取得成功。”这与传统 SaaS 产品的增长路径有所不同。由于市场已经饱和,传统 SaaS 产品在市场上进行推广时,通常会经历缓慢的增长过程,在获得客户和市场渗透方面需要花费很长时间。在这个过程中,公司会不断进行成本-收益分析,以确保获客成本(CAC)不高于长期用户价值(LTV)。这是传统 SaaS 产品的数字游戏,可能需要数年甚至更长时间的发展周期,甚至可能会错失一些市场机会。

 

然而,对于大模型产品来说情况并不同。大模型时代涌现出了不少商业机遇,无数个创业团队犹如千军万马过独木桥,此时大家的首要目标是最大化获客,并获得全球开发者的认可。

 

“我们注意到,在当前大模型创业潮中,许多企业选择了开源。开源意味着获客成本很低,可以解决全球范围内的问题,例如美国的团队可以轻松渗透美国或其他海外市场,因为他们本土化,语言和文化相似。通过选择开源,可以更快地实现增长,并占据更大的市场份额,然后再开始商业化。这条路径可以确保我们取得成功。相反,如果首先商业化再考虑开源,我们可能只能获得短期内的一些收入,而且这些收入可能会在几个月内消失。这就是我们的判断。”张路宇分析道。

 

5 月 中旬,Dify 宣布 46558 行代码完全开源,并临时决定将开源协议从 AGPL 放宽到 Apache 2.0。张路宇表示:

 

开源!从第一天起我们就志在要代表中国团队做一个像 Docker、Stripe 那样的世界级产品,一个大模型能力上的 OS。虽然过去八周我们没日没夜才做出产品现在的样子,但即使要推倒重来我们也做好了准备,所以开源我们毫不犹豫。Dify 要在开源中学习、成长。

 

开源只是 Dify 的一小步,但这是全球开发者解锁 LLM 潜力的一大步。它目前还不完美,但在与社区共创、共建的过程中会成为全世界 Prompt 工程师最喜爱的产品。

 

No waiting list. No copy to China. 相信社区的力量!

 

6 月,Dify 有了第一笔商业收入。在张路宇看来,虽然公开源码不难,但在开源的同时保护知识产权和商业化路径才是挑战。

 

首先,需要选择一个合适的开源协议,以确保在开源的同时能够保护知识产权和商业化机会。对于 Dify 项目来说,团队设计了一个混合开源协议,基于 Apache 2.0,并增加了一些特定条款。

 

其次,还需要思考如何有效地组织外部贡献者的参与。需要让外部贡献者知道如何参与、从何处开始、如何建立开发环境以及需要满足哪些要求。以 Dify 项目为例,该项目涉及多个层次,如模型驱动、插件、数据库支持等,有很多可以扩展的点。外部贡献者想要参与时,Dify 需要提供贡献指南,并协调他们进行参与。“我们将所有在 GitHub 上提供代码的贡献者都组织到一个群组中,然后与他们一对一交流,了解他们的情况、贡献时间、动机以及他们在企业内部的工作情况等。管理和组织这些外部贡献者团队是一个重大挑战。你需要提供支持和服务,帮助他们理解如何贡献,尤其是当他们不在同一办公地点、不了解你的产品路线图、缺少信息共享时。这些都是相当困难的任务。”

大模型中间件产品如何走向未来?

 

在大模型创业浪潮下,选好赛道是关键。有观点认为,AI 大模型和垂直应用模型的爆发将会加大中间件的需求。结合过往的工作经验以及对大模型的理解,Dify 团队选择聚焦大模型中间件赛道,但这条路走得并不轻松。

 

在这波创业浪潮中,有人专注于模型开发,有人致力于应用推广。模型开发相当于创业团队需要进行军备竞赛和科研竞赛,要进行大量的实验。其中的方法论基本都能够在开放的文献中找到,创业团队的主要工作是准备数据来进行模型训练。这些是实验性的工程,变数不多。而应用推广需要快速迭代,需要满足特定人群的特定需求。中间件则不同,创业团队需要同时考虑大模型技术的进展,以及开发者如何利用这些能力来构建应用。既要在这两个方向上进行抽象,又要了解开发者的需求和消费习惯。

 

目前,Dify 已经形成了一套基本的方法论:

 

  • 信息处理是关键。Dify 团队会定期跟踪市场上所有与 AI 相关的开源或产品,了解它们的增长趋势。研究哪些产品在上周表现出色,增速超过了预期。然后进行反向工程,分析它们的产品理念和增长路径。这个跟踪和反向工程的工作非常重要。

  • 找到自己在全球大模型生态系统中的生态位,理清与上下游产品的关系,例如与大模型、云厂商、应用和向量数据库等产品的关系。只有思考清楚并找到自己的定位,才能在市场上真正站稳脚跟,将产品持续发展下去。

 

同时,Dify 团队还构思了一个远景:未来大型模型的提示在合理的组织下,应该以服务的形式提供给其他应用程序。Dify 的整个架构都是围绕这一理念进行设计的。

 

“我们深信未来,通过 Dify 编排的应用程序将能够像 Docker 容器一样,使用简单的声明性文件来运行并在不同环境中传播。这与当前的做法有很大不同。目前,包括 LangChain 在内的一些产品都采用硬编码的方式,用传统的代码来管理大型模型的各种功能,以解决问题。我们相信这个设计上的差异将是我们与其他产品之间的最大不同之处,我们坚信这个理念是可行的。”张路宇说道。

 

诚然,在中短期内,大模型仍然是一个处于早期阶段的技术,甚至存在诸多问题,如上下文窗口、性能、成本等等,这些都会影响开发者理解和应用。开发者在开发基于大型模型的应用时,也总会遇到各式各样的挑战。而这也是大模型中间件产品存在的意义——在短期内,必须帮助开发者解决当前阶段的问题。

 

“我认为当前大模型正处于一个比较早期的阶段,大家都在探索,尝试推动模型的能力边界,但距离模型的完全落地还存在一些挑战。目前,我们最重要的指标应该是让具备能力的开发者能够将大模型应用于生产环境并成功落地。这个目标可以被视为我们的北极星指标,即投产的应用数量。其他指标,比如我们的 Star 数量、今年的收入增长等,都相对不那么重要,都是些虚荣指标,不能真正反映出我们面临的主要挑战。真正关键的是有多少应用程序正在使用大模型或使用 Dify 这样的中间件,最终能够成功交付他们的产品。这才是我们最需要关注的重点。”张路宇说道。

嘉宾介绍

 

张路宇,Dify.AI 创始人兼 CEO,Dify.AI 是一款开源的 AI 应用开发平台,帮助 AI 创新者基于不同大模型能力构建并运营不同情景的 AI 应用,曾多次登榜 GitHub 全球趋势榜。同时,张路宇也是一位资深工具产品经理、连续创业者,拥有丰富的工具软件领域的 SaaS 产品研发及运营经验。曾在腾讯云 CODING DevOps 团队负责产品及运营管理工作,服务超百万开发者用户的平台产品。


本文节选自《中国卓越技术团队访谈录&架构师特刊》

 

大模型风行一年多,创业新秀们都有哪些故事?实际落地中,软件产品中的 AIGC 能力又如何?本期《中国卓越技术团队访谈录 &架构师特刊》中,LeptonAI、智谱 AI、Dify.AI 和京东云言犀团队深度分享了他们的创业思路和产品经验,来自网易、百度、广推科技等企业的技术专家,也深入探讨关于 AIGC 编程、算法及应用等话题。

 

现在识别图中二维码或点击《中国卓越技术团队访谈录&架构师特刊》即可下载电子书,查看更多、更详细的精彩内容!



2023-11-13 14:226877

评论

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

CleanMyMac2023测试版功能介绍

茶色酒

CleanMyMac X CleanMyMac X2023

架构训练营第10期模块7作业

Geek_4db2d5

Ubuntu18.04编译ZLMediakit支持webrtc

Geek_pwdeic

WebRTC

Guitar Pro8吉他软件最新版安装下载教程

茶色酒

Guitar Pro8

SpringBoot 容器刷新前回调ApplicationContextInitializer

做梦都在改BUG

Java spring Spring Boot

别再找借口了!找不到工作就好好学一下这份16W字Java面试合集

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

架构实战营-模块二作业

🐢先生

架构实战营

阿里内部消息中间件合集:MQ+Kafka+体系图+笔记

做梦都在改BUG

Java kafka MQ 消息队列 消息中间件

面试官:浅谈一下Redis分布式锁存在的问题

做梦都在改BUG

Java

从这两道题重新理解,JS的this、作用域、闭包、对象

loveX001

JavaScript

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

阿里前端经典react面试题集锦

beifeng1996

React

【Java基础】Java对象创建的几种方式

No8g攻城狮

Java 后端 Java 分布式 Java 开发

Teradata 落幕中国的三个变化:“国产平替”变褒义、重型方法论不如最佳实践、前后端数据服务贴合

B Impact

6 理解业务概念和业务组件

涛哥 数字产品和业务架构

企业架构 业务架构

聊聊如何利用redis实现多级缓存同步

做梦都在改BUG

Java redis 缓存 多级缓存

【立哥】【每日一个小知识】企业家和管理者有什么区别?

Lee Chen

如何使用 ArrayPool

newbe36524

C# Docker Kubernetes

那些高级前端是如何回答面试题的

loveX001

JavaScript

LeetCode题解:1237. 找出给定方程的正整数解,双指针,详细注释

Lee Chen

LeetCode 算法、

【Ask100-3】 用ARR衡量SaaS企业发展,需要怎样的前提?

B Impact

[go]交叉编译

追赶者

Go go build 交叉编译

高级前端一面面试题集锦

loveX001

JavaScript

开源SPL助力JAVA处理公共数据文件(txt/csv/json/xml/xsl)

石臻臻的杂货铺

Java 开源

2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。

福大大架构师每日一题

golang 音视频 ffmpeg 流媒体 福大大

云原生的基建:我理解的可观测性和OpenTelemetry

agnostic

可观测性 OpenTelemetry

HashMap每次扩容时,为什么都必须是2的N次方?

做梦都在改BUG

LeetCode题解:1237. 找出给定方程的正整数解,枚举,详细注释

Lee Chen

算法 LeetCode

LeetCode题解:1237. 找出给定方程的正整数解,二分查找,详细注释

Lee Chen

JavaScript 算法 LeetCode 二分查找

盘点和总结秒杀服务的功能设计及注意事项技术体系

做梦都在改BUG

Java 秒杀系统

模块七作业

Ryan

架构

像Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?_生成式 AI_凌敏_InfoQ精选文章