当下大模型的在各行各业的落地,已经开始展开,也有很多的文章展开论述。

然而,在当前如何更好地自主地大一统地解决复杂场景,一直是人工智能技术发展应用落地的一个大的方向。

本文也将谈谈从技术实现角度上看,当下大模型的三种落地场景范式。

老刘通过对现有开源的项目实现,大致将大模型的落地归为Trans Anything、Ask Anything、Control Anything三种类型

其中:

Trans Anything,指的是

不同形式数据之间的转换,包括代码code、文本text、图像image、视频video等不同形式之间的互转,这些场景在大模型都有机会实现。

Ask Anything,指的是作为一种以QA形式进行交互的新模式,极大的冲击了问答场景。从一般的闲聊,到面向特定文档的问答,到面向各种复杂文档、知识库、多模态等场景,均可以通过构造问题,来获得问题对应的答案。

Control Anything,指的是对不同模型、不同服务之间的决策,以实现不同模型之间的有效协作,这个也是智能体的一个最佳表现,通过集成、调动不同服务之间进行合作,集成不同模型的能力,以完成一个更大的目标。其主要实现形式为利用GPT-4、Pinecone和LangChain进行多种应用,实现任务驱动的自主代理。

这三种范式是属于递进的关系,Transfer Anything可以为Ask Anayting提供基础数据,Ask Anything可以以QA形式完成多种应用生产,并提供服务,Control Anayting则作为上层可以调度两者,以集成更多、更全面的力量,来实现更大的收益。

一、Generative AI Market基本情况

机构LEONIS CAPITA针对当前生成领域,给出了Generative AI Market Map,并将现有的主要厂商集中在RESEARCH、TEXT、IMAGE、VIDEO、AUDIO、CODE、GAMING以及BIOTECH等几个类别上。

从中我们可以看到国外市场的布局。

1、RESEARCH

2、TEXT

3、IMAGE

4、VIDEO

5、AUDIO

6、CODE

7、GAMING

8、BIOTECH

三、Trans Anything范式

我们发现,我们所有的应用生产,都是在面对不同的数据,作不同的处理,完成包括信息过滤、信息加工,以产出不同的数据价值。

但在实际的业务落地中,我们发现,不同的数据,在传统的落地中都是需要依靠不同的技术栈、技术模型来做不同的处理,这显然十分费力。

类chatgpt这类大模型的出现,使得真正的大一统成为可能【此处应该严谨表述】,最为关键的,它可以实现不同模态、不同格式之间的转换,从而达到已有模型的统一交互。

我们定义为,Trans anything表示不同形式数据之间的转换,包括代码code、文本text、图像image、视频video等不同形式之间的互转,这些场景在大模型都有机会实现。

例如:

1、code2code:不同代码种类之间的转换,如python转c,c转python等,这可以加速代码开发效率;

2、code2text:代码转换为文本,应用场景为代码审查、代码分析;

3、text2text:文生文,应用场景为文本摘要、视频会议纪要等;

Input: 类型#裙*版型#显瘦*风格#文艺*风格#简约*图案#印花*图案#撞色*裙下摆#压褶*裙长#连衣裙*裙领型#圆领

output: 文艺个性的印花连衣裙,藏青色底蕴,低调又大气,撞色太阳花分布整个裙身,绚丽而美好,带来时尚减龄的气质。基础款的舒适圆领,简约不失大方,勾勒精致脸庞。领后是一粒包布扣固定,穿脱十分方便。前片立体的打褶设计,搭配后片压褶的做工,增添层次和空间感,显瘦又有型。

4、text2code:文本转代码,应用场景为自动代码生成、低代码平台开发,自然语言转sql等,提升代码效率;

5、text2image:文生图,根据文本生成图像,应用场景为根据文本自动作图,广告配图、业务配图等;

例如项目:

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/pipelines/examples/text_to_image

6、image2text:图生文,根据图像生成文本,应用场景为自动报道生成,图像解读。

来自于:https://www.microsoft.com/en-us/research/project/image2text-2的例子

7、text2video:文本生成视频,尤其是在具有时序性的文本,生成为视频,应用场景为游戏、漫画生成;

来自:https://huggingface.co/damo-vilab/text-to-video-ms-1.7b-legacy的例子

An astronaut riding a horse. 

Darth vader surfing in waves. 

8、video2text:视频生成文本,应用场景为视频总结、视频分析;

二、ASK Anything落地范式

类Chatgpt大模型出现后,作为一种以QA形式进行交互的新模式,极大的冲击了问答场景。从一般的闲聊,到面向特定文档的问答,到面向各种复杂文档、知识库、多模态等场景,均可以通过构造问题,来获得问题对应的答案。

1、处理各种不同格式文档的代表项目

在此推荐一个可以处理多种复杂格式文档的开源项目:textract

地址:https://textract.readthedocs.io/en/stable/

使用项目:

textract path/to/file.extension

textract支持越来越多的文件类型列表用于文本提取,其中集成实现了如下格式文档:

.csv通过python内置;  .doc通过反词;  .docx通过python-docx2txt;  .eml通过python内置;  .epub通过ebooklib;  .gif通过 tesseract-ocr;  .jpg和.jpeg通过tesseract-ocr;  .json通过python内置;  .html和.htm通过beautifulsoup4;  .mp3通过 sox、SpeechRecognition 和 pocketsphinx;  .msg通过msg-extractor;  .odt通过python内置;  .ogg通过 sox、SpeechRecognition 和 pocketsphinx;  .pdf通过pdftotext(默认)或pdfminer.six;  .png通过 tesseract-ocr;  .pptx通过python-pptx;  .ps通过ps2text;  .rtf通过unrtf;  .tiff和.tif通过tesseract-ocr;  .txt通过python内置;  .wav通过SpeechRecognition和pocketphinx;  .xlsx通过xlrd;  .xls通过xlrd;  

2、ask video

Ask-Anything是一个简单而有趣的与视频聊天工具,该团队正在努力建立一个智能且强大的用于视频理解的聊天机器人。

项目地址:https://github.com/OpenGVLab/Ask-Anything/blob/main/README_cn.md

实现思路也很简单,以minigpt4为例:

依赖于两个基础模型,分别对应于文本模型和视觉模型,在该模型中,文本模型使用Vicuna,视觉模型使用BLIP-2,总体将BLIP-2的冷冻视觉编码器与冷冻LLM Vicuna对齐,只使用一个投影层,以解决从视觉到文本的转换。

2、ask documents

以chatpdf、langchain为代表的项目,通过对文档进行封闭性的问答,其实现思路很简单,大致如下:

1)Azure的解决方案

1)文章切片到段落;

2)通过 OpenAI 的 embedding 接口将每个段落转换为 embedding;

3)将提问的问题转换为 embedding

4)把问题的 embedding 比较所有段落 embedding 得到近似程度并排序 ;

5)把和提问(语义)最接近的一个或几个段落作为上下文,通过 OpenAI 的对话接口得到最终的答案

2)单文档解决方案

四、Control Anything范式

Control Anything,指的是对不同模型、不同服务之间的决策,以实现不同模型之间的有效协作,这个也是智能体的一个最佳表现,通过集成、调动不同服务之间进行合作,集成不同模型的能力,以完成一个更大的目标。

其主要实现形式为利用GPT-4、Pinecone和LangChain进行多种应用,实现任务驱动的自主代理。以AutoGPT为例,(自动)工作原理如下:提出问题,即设定一个目标->AutoGPT 根据设定的目标,拆解主任务-> 分别并执行各个主任务,然后得到结果-> 当主任务执行完成后,会执行额外的添加的子任务。

1、AutoGPT

项目地址:https://github.com/Significant-Gravitas/Auto-GPT

其核心在于它把我们的命令发送给GPT-4的时候,让GPT-4根据指定的COMMAND来选择操作,上述COMMAND中,大家可以看到包括谷歌搜索、浏览网站、读写文件、执行代码等。AutoGPT会把问题,如“寻找今天推特上最火的AI推文”发给GPT-4,并要求GPT-4根据这些COMMAND选择最合适的方式去得到答案,并给出每一个COMMAND背后需要使用的参数,包括URL、执行的代码等。

2、HuggingGPT

解决不同领域和模式的复杂人工智能任务是迈向高级人工智能的关键一步。虽然有丰富的人工智能模型可用于不同的领域和模式,但它们不能处理复杂的人工智能任务。

考虑到大型语言模型(LLMs)在语言理解、生成、交互和推理方面表现出的卓越能力,我们主张LLMs可以作为一个控制器来管理现有的人工智能模型,以解决复杂的人工智能任务,而语言可以作为一个通用接口来授权。

地址:https://github.com/microsoft/JARVIS

基于这一理念,HuggingGPT,利用LLM(如ChatGPT)来连接机器学习社区(如Hugging Face)中各种人工智能模型的框架,以解决人工智能任务。具体来说,使用ChatGPT在收到用户请求时进行任务规划,根据Hugging Face中的功能描述选择模型,用所选的AI模型执行每个子任务,并对响应情况进行总结。

HuggingGPT的整个过程可以分为四个阶段:

3、BabyBeeAGI

BabyBeeAGI,用GPT-4改进的BabyBeeAGI扩展了BabyAGI代码,提高了任务管理、依赖任务、工具、适应性和集成能力。该代码适合处理更多更复杂的任务,但需要更高的计算能力。

地址:https://github.com/yoheinakajima/babyagi

该脚本通过运行一个无限循环来完成以下步骤:

从任务列表中抽出第一个任务->将任务发送给执行代理,执行代理使用OpenAI的API来完成基于上下文的任务->丰富结果并将其存储在Chroma/Weaviate中->创建新的任务,并根据目标和前一个任务的结果重新确定任务列表的优先次序。

我们可以看下该图中的细节:

execution_agent()函数是使用OpenAI API的地方。它需要两个参数:目标和任务。然后它向OpenAI的API发送一个提示,并返回任务的结果。该提示由人工智能系统的任务描述、目标和任务本身组成。然后,结果以字符串形式返回。

task_creation_agent()函数是OpenAI的API用来根据目标和前一个任务的结果来创建新的任务。该函数需要四个参数:目标、前一个任务的结果、任务描述和当前任务列表。然后,它向OpenAI的API发送提示,API以字符串形式返回新任务的列表。然后,该函数将新任务以字典列表的形式返回,其中每个字典包含任务的名称。

prioritization_agent()函数是使用OpenAI的API来重新确定任务列表的优先级的地方。该函数接受一个参数,即当前任务的ID。它向OpenAI的API发送一个提示,后者将重新优先排序的任务列表作为一个编号的列表返回。

最后,该脚本使用Chroma/Weaviate来存储和检索任务结果的背景。脚本根据TABLE_NAME变量中指定的表名创建一个Chroma/Weaviate集合。然后使用Chroma/Weaviate将任务的结果与任务名称和任何额外的元数据一起存储在集合中。

参考文献

1、https://yoheinakajima.com/task-driven-autonomous-agent-utilizing-gpt-4-pinecone-and-langchain-for-diverse-applications/

2、https://www.microsoft.com/en-us/research/project/image2text-2/

总结

本文主要通过对现有开源的项目实现,大致将大模型的落地归为Trans Anything、Ask Anything、Control Anything三种类型。

其中,这三种范式是属于递进的关系,Trans Anything可以为Ask Anayting提供基础数据,Ask Anything可以以QA形式完成多种应用生产,并提供服务,Control Anayting则作为上层可以调度两者,以集成更多、更全面的力量,来实现更大的收益。

实际上,在当前,如何更好地自主地大一统的解决复杂的场景,一直是人工智能技术发展的一个大的方向,Trans 和ASK可以解决大一统的问题,Control可以解决自主和复杂的问题,这些都是未来的发展方向,我们可以跟随住这个潮流。

进技术交流群请添加AINLP小助手微信(id: ainlp2)

请备注具体方向+所用到的相关技术点

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。

阅读至此了,分享、点赞、在看三选一吧🙏

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注