当大语言模型遇上扩散模型(一、简要介绍)

当大语言模型遇上扩散模型(一、简要介绍)

文章目录

  • 当大语言模型遇上扩散模型(一、简要介绍)
    • 总览
    • 正文
    • 资源汇总

总览

本系列文章对近期学习的大语言模型(LLM)和扩散模型(Diffusion Model)的相关内容进行简要总结,作为该系列文章的开篇,主要谈谈近期学习的感受和心得。

我的学习过程是从以下部分需求和痛点开始的:

  • 大语言模型能否和文生图模型进行结合 ?要掌握哪些知识 ?
  • 文生图需要提供大量的 prompts,推理过程耗时较长,这一流程能否被简化 ?能否更快速 ?能否大量生成不同风格的图片供我选择,激发我的灵感,获得更多视觉上的享受 ?🤣🤣🤣
  • GPU 只有可怜的 8G VRAM,能否在保证效果的情况下运行 LLM 以及 Diffusion 模型 ? 或者在 CPU 上也能快速运行 ?

上面是对具体技术的简单探讨。但 更重要、更应该思考的问题是:在这个快速变化的领域,新思想、新知识、新应用层出不穷,令人目不暇接,那么作为像我这样一个柔弱的个体,如何能尽快跟上形势、跟上浪潮,不因科技的快速发展而被时代所抛弃? 作为一个和计算机经常打交道的工作者,我隐约觉得,随着像 OpenAI 的 GPT 系列大语言模型的快速发展,后续和计算机进行交互的方式将会被彻底改变,目前使用 C++、Python 等编程语言与计算机对话,未来也许只需用人类日常沟通的自然语言即可,技术门槛无限趋近于 0,倘若试用过如 ChatGPT、Cursor 等产品应该也有类似的体会。

科技的发展当然是美好的,它让人类整体的生活质量得到显著提升。但不可否认的是,具体到微观上的某个的个体,能否在科技浪潮中体会到幸福和快乐,却是未必的。就拿马车与汽车的例子来说,汽车的发展不是在一夜之间就将马车全部进行替换,而是有一个演进的过程,在这个过程中,马车夫们就面临一个选择,到底是继续依仗自己几十年积累的驭马经验在马车界纵横,还是积极拥抱新生的汽车行业、拥抱变化,提前考取个驾照🤣🤣🤣 ? 最近还在看《AIGC:智能创作时代》这本书,第三章开篇就是 “AIGC如何帮助企业各职能部门降本增效?”,那自己到底是 “本” 还是 “效” 呢?又到了思考 “To be or not to be” 的时刻。

另外针对需求和痛点,写了个简单的名为 ChatSD 的 project,放在了 Github: https://github.com/axzml/ChatSD, 后续会在写文章的时候简单介绍(夹带私货)🤣。

正文

内容较多,关键词如下:阅读的开源库、LangChain 提供的方法论、Prompt 太重要了、ChatSD 小项目的思路

最近这一个月,是我接收到信息密度最大、收获 insights 最多、追逐进展最为疯狂的一段时期。从 GPT-4、微软 Copilot、ChatGPT plugin、Midjourney v5 的震撼发布到近期的 Visual ChatGPT、HuggingGPT 以及 AutoGPT 的强势来袭, 我没想到知识的更迭速度可以如此之快,前一天还处在前沿的技术,第二天可能就变成需要了解和掌握的基础知识,否则可能跟不上当天的进展。另外也没想到有一天看技术报告和论文如《GPT-4 Technical Report》、《Sparks of Artificial General Intelligence: Early experiments with GPT-4》会感觉很兴奋… 没办法,实在太渴望了解这些技术的原理和实现细节,但 CloseAI 并没有公布任何实质性的内容,基本全程是在秀肌肉,好在有强大的开源社区,里面提供了丰富、管够的技术,让人去一探究竟。

为了解决我在 “总览” 一节中提到的痛点和需求,主要参考了如下开源库(注:由于公众号不支持外链跳转,文章中提到的库的链接我都放在 “资源汇总” 这一节):

visual-chatgpt、Hugging Face(transformers、diffusers)、LangChainStable Diffusion、ChatGLM-6B、clip-interrogator、prompt-generator、stanford_alpaca、alpaca.cppalpaca-lorallama.cpp、pyllama、chatglm-6b-int4

等等库,其中加粗是进行过重点研究的。

一开始我的诉求很简单,由于 GPU 显存不大,跑大语言模型还是有些吃力,实际体验也不是很好,因此首先将目光转向 llama.cpp 这个库,发现 C++ 在性能上的优势非常明显。此外还执着于量化技术一段时间,看了 llama.cpp 以及 chatglm-6b-int4 中的 int4 量化实现,但随着 visual-chatgpt 的发布,我意识到自己有点跑偏了,太在意技术细节,挺浪费时间,好在这时候量化部分的实现也看明白了,因此迅速抛弃自己的执念,转而去看 visual-chatgpt 的原理,惊喜的重新发现 LangChain 这个库:

这是个非常有意思的库。目前在 Github 上有 26.7k 的点赞,足见其热度。虽然很早就知道这个库,但其主页几句功能介绍有点抽象,得跳转到其他几个项目了解它是干啥的,因此之前直接选择略过(哎,格局小了)… 而借着对 visual-chatgpt 的研究,我发现 LangChain 很强大。如果说一个智能体它的内核是 LLM 大语言模型的话,那么我认为 LangChain 就是它的骨架和血脉。简要画了下 LangChain 的流程示意图,只包含了部分重要概念:

用户提供指示,LangChain 将其转换为合适的 prompt 喂给 LLM,让 LLM 来决策使用哪些工具来解决用户的问题。比如我要查询最新的天气数据,ChatGPT 由于训练数据不是最新的,应该没法给出准确的结果,但是借助 Google Search,就可以搜寻到正确的结果并返回给我。又比如我想让 Agent 来生成某种风格的图片,非多模态的 LLM 模型是无法正确读取图片的,但是它可以首先调用 Image Caption 之类的工具生成对图片的描述,将图片风格用特定的词语描述出来,然后再调用 Stable Diffusion 模型去生成对应的图片。

可以发现,借助 LangChain 提供的功能,LLM 的能力得到了极大的扩展!最近很火的 visual-chatgpt 是建立在 LangChain + ChatGPT 之上,而 ChatGPT plugin、HuggingGPT(不太确定有没有用 LangChain)、AutoGPT 等项目虽然也许没有直接使用 LangChain,但 Agent、Memory、Index、Tool 这些概念还是包含的,因此理解了 LangChain,类似的项目都可以很快速的理解。

如果再进一步去思考 LangChain,先不赞叹它对各种概念做了非常非常棒的抽象,更重要的是,我觉得它提供了一种方法论(事物的底层逻辑 …),或者说 a roadmap,以指导我对大语言模型的学习。比如:

  • 想学习 LLM 模型本身,可以去看 GPT、LLaMA、ChatGLM-6B 等等
  • 想学习 Prompt,就去看 Prompt 工程相关的内容
  • 想学习各种图像与文本工具,就可以看 Diffusion、CLIP、BLIP 等等内容
  • 想让语言模型对自己的私有数据进行理解,那就去看 Index 相关的内容
  • 想增强 LLM 对上下文的理解以及支持连续对话,那么就去加深对 Memory 的理解

这样进行学习,就不大容易迷路,因为只要有这样一个框架在,学习的任何东西都能塞进这个框架,也许在未来有一天能派上用场。

在阅读 visual-chatgpt 代码的过程中,发现它包含很长一段 prompt,由于一开始对 CoT(Chain of Thought)之类的概念并没有太多了解,所以未察觉这段 prompt 的价值,但是随着我对 LangChain 有更多的了解,突然悟了🤣🤣🤣:这段 prompt 甚至可以说是整个代码中最精华的部分之一

为了更好的了解和掌握 LangChain,我开始尝试写 ChatSD,用来实现我在文章一开始谈到的需求。首先是对 LLM 模型的选择上,虽然我可以访问 ChatGPT,但是并没有申请 OpenAI key,导致无法调用 OpenAI 的 API,况且我也不打算调用 API,这不利于我对 LangChain 的掌握,因此决定对当前开源社区贡献的 LLM 模型进行选择,尝试了 Stanford Alpaca/Alpaca-Lora、LLaMA、Bloom、ChatGLM-6B 等等模型,发现 ChatGLM-6B 模型效果相对更好,因此 LLM 最后选择了 ChatGLM-6B。目前 ChatSD 初步可以实现根据用户的简单输入,生成多样化风格的图片。当然,这少不了 text2image-prompt-generator、Stable Diffusion、openjourney 等工具的帮助。代码在:https://github.com/axzml/ChatSD,项目主页如下(是不是有股浓浓山寨风🤣🤣🤣):

为了给项目产出一个 Logo,我使用 python main.py --input="logo of cat, cute, happy, smile" 得到如下风格各异的结果:

受限于我现有的资源,以及能投入的时间,先就这样了,后面可以慢慢优化(虽然这个项目不用 LLM 也能很快实现,但做这件事情的核心是掌握 LangChain … 所以对我还是有点价值的)。

最后再说个挺搞笑的事情,前段时间好像报道说数千科学工作者签名要求 AI 发展暂缓 6 个月,其中包括 Elon Musk,但最近新闻显示 Musk 偷偷购买了 1w 块高性能 GPU,创建人工智能公司 X.AI。Musk 应该是熟读《孙子兵法》的 [手动狗头]。

(资料来源:创业邦 公众号)

资源汇总

  • 《GPT-4 Technical Report》: https://arxiv.org/abs/2303.08774
  • 《Sparks of Artificial General Intelligence: Early experiments with GPT-4》:https://arxiv.org/abs/2303.12712
  • visual-chatgpt: https://github.com/microsoft/visual-chatgpt
  • Hugging Face: https://github.com/huggingface
  • LangChain : https://github.com/hwchase17/langchain
  • Stable Diffusion: https://github.com/CompVis/stable-diffusion
  • ChatGLM-6B : https://github.com/THUDM/ChatGLM-6B
  • clip-interrogator : https://github.com/pharmapsychotic/clip-interrogator
  • text2image-prompt-generator: https://huggingface.co/succinctly/text2image-prompt-generator
  • prompt-generator: https://huggingface.co/spaces/doevent/prompt-generator
  • openjourney: https://huggingface.co/prompthero/openjourney
  • stanford_alpaca: https://github.com/tatsu-lab/stanford_alpaca
  • alpaca.cpp: https://github.com/antimatter15/alpaca.cpp
  • alpaca-lora: https://github.com/tloen/alpaca-lora
  • llama.cpp: https://github.com/ggerganov/llama.cpp
  • pyllama: https://github.com/juncongmoo/pyllama
  • chatglm-6b-int4: https://huggingface.co/THUDM/chatglm-6b-int4
  • ChatSD:https://github.com/axzml/ChatSD

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI平台Bard、文心一言、New Bing介绍

提起ai产品,大家用的多的,可能还是chatgpt,今天,让我们来了解下另外几款: 一、谷歌公司推出的Bard: https://bard.google.com/ 缺点就是:目前只支持英文提问: 还是具备一定的上写文的能力的,比如…

ChatGPT:你的聊天新伙伴,提供无尽的欢乐时光!

ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT-3.5丨OpenAI ChatGPT|GPT-4|GPT-3|人机对话|ChatGPT应用|小智ai|小智ai|小智ai|小智ai|小智AI|chatgpt小智AI 引言: 无论你是在寂寞的夜晚需要伴侣,还是在烦恼的时刻需要倾诉…

吓哭了,看片片被警察问候了~

推荐阅读:突然曝出降薪!幅度5000至10000? 前几天刷知乎,看到一个很意思的问题!浏览量高达1800万,说明大家对这类话题还是比较关注的。 这里大家整理一些网友的回答,仅供参考。 匿名用户 A 回复 …

如何确保大模型追求“正确”的目标?丨AI安全与对齐圆桌回顾

导读 在智源大会「AI 安全与对齐」论坛上,与会嘉宾针对目前人们关心的 AI 安全控制标准、多智能体强化学习环境下的安全、开源对 AI 安全的影响、对智能涌现安全的思考等问题展开了讨论。 能力越大,责任越大。 嘉宾名单 谢旻希丨主持人,安远A…

iOS开发-聊天气泡的绘制和聊天消息列表

iOS开发中什么最重要?流媒体?即时通讯?还是其他什么技术?其实都不是,最重要的东西诚然只是iOS的基础,比如画一个按钮,封装一个控件,扩展一个类等等。这些东西看似简单,实…

Qt模仿QQ聊天窗口界面(一)

Qt模仿QQ聊天窗口界面(一) Qt模仿QQ聊天窗口界面(一) 简述效果图 QQ的聊天窗口我做的效果图 代码篇 结尾 简述 最近利用业余时间,模仿QQ做了一个聊天窗口界面,功能还不全,准备分几个部分做出…

iOS 类似微信,QQ聊天界面的气泡聊天简单实现Demo

以下是YYKit组件的源码分析,高级性能优化相关都在里面可以找到 YYwebImage超细源码分析YYImage超细源码分析YYModel源码分析YYText源码分析 12.27日更新:分析了一个很牛B的聊天UI框架 进阶版高级UI实现 帅气的我又来了,是不是帅气逼人。。。…

QT 登录界面 主界面 切换 仿TIM

QT 登录界面 主界面 切换 一 环境搭建 平台是vs2012 Qt5.2.1 属于QWidget窗口 在项目里又添加了QMainwindow窗口 二 编写代码 QWidget的窗口名是loginwindow,QMainwindow的窗口名是mainwidow(发现window少打一个n 尴尬) loginw…

环信聊天列表不刷新数据

还原问题: 如图主Ui是activity,下侧的围观区是Fragment,根据环信的demo,上面聊天区可以正常刷新UI。 但是围观区数据源变化,但是不能刷新UI。 思路: 研究一个下午,理了好久逻辑。发现我的问题是&#x…

环信实现聊天功能

目录 1、即时通信1.1 什么是即时通信?1.2 功能说明 2 技术方案3 环信3.1 开发简介3.2 环信Console 4 用户体系集成4.1 Appkey 数据结构4.2 环信 ID 数据结构4.3 环信 ID 使用规则4.4 获取管理员权限4.4.1 配置4.4.2 获取token4.5 注册环信用户4.6 测试4.7 查询环信用…

Android泡泡聊天界面的实现

昨天写了个界面,实现了Android泡泡聊天界面。运行结果如下,点击发送按钮,屏幕就显示Text的内容。 我也是在网上的一份源码的基础上更改的,整个泡泡界面的实现要点: (1)主界面其实就是一个List V…

【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看。

简介 关注我:GPT4.0 JAVA SDK近期更新 前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用。但由于原来OpenAI 并没有支持官网的chatgpt模型,所以使用起来相对没有官网那么智能完善,所以就没有写出一个demo项目&a…

Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇。

文章目录 一. 前言同时完整项目代码已上传github:[Fdog即时通讯软件](https://github.com/HuaGouFdog/FdogInstantMessaging) 求星星!二. 正文1. 如何保存第一次登录数据2. 如何获取已经登录过的账号信息,并完成自定义下列框3. 从下拉列表框删除账号4. 文…

可换皮肤的Qt登录界面

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支持一下呗。👍⭐️❤️ 可换皮肤的Qt登录界面 QSS的学习笔记 快…

chatgpt赋能python:Python如何去除停用词

Python 如何去除停用词 介绍 在进行自然语言处理时,停用词是常见的障碍。停用词是指在文本中频繁出现但没有实际意义的词语。例如,“the”、“is”、“a” 等单词通常被认为是停用词,因为它们在具有意义的文本中出现得非常频繁,…

使用关联规则分析股票数据--数据来自tushare大数据社区

使用关联规则分析股票数据--数据来自tushare大数据社区 一、开发环境二、目标三、关联规则(之前了解过直接跳到第四步)1.关联规则的定义2.啤酒尿布的例子2.1 支持度2.2置信度2.3 提升度2.4 关联规则2.5 啤酒和尿布 四、股票关联规则分析1.使用的库2.获取…

Twitter部分源代码泄漏、疑遭离职员工报复:马斯克要求GitHub交出所有上传、下载人员名单...

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 作者 | Tina 来自:AI前线 最近的法律文件显示,Twitter 的部分源代码已经在网上泄露。这是一次罕见的、严重的知识产权泄露事件。为防止该事件对其服务产生潜在的破坏…

马斯克刚说要开源,没几天Twitter源代码就泄漏了...

出品 | OSC开源社区(ID:oschina2013) 根据《纽约时报》的报道,一份法律文件显示,Twitter 称其部分源代码在网上被泄露,该公司已于上周五采取行动,它通过向托管代码的 GitHub 发送版权侵权通知,删…

文心一言员工跳槽工资翻倍, AI 人才备受追捧;推特称其部分源代码遭泄露;Docker 撤回受争议的收费方案|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

有道智云翻译API + retrofit实现在线翻译Android app

目录 1.进入有道智云主页,注册自己的账号(手机号验证码),完善信息随意填 2.登录进来后,创建应用。根据需要选择语言翻译服务。 3. 打开Android Studio,新建空的Activity项目 1. 新建项目,在build.gradle(app)添加re…