社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  aigc

关于AIGC的100个想知道(一)

数据何规 • 10 月前 • 218 次点击  
来源:AI大镖客

一些基础但重要的概念

Q1. AIGC是什么?TA有哪些应用场景?

“生成式人工智能”(Generative Artificial Intelligence,GAI),是指通过对已有数据的学习和识别,能够以适当的泛化能力自动生成文本、图片、音频、视频等多种类型内容的AI。而AIGC(Artificial Intelligence Generated Content)译为“人工智能生成内容”,则是指GAI产生的内容本身。由于在商业化运行过程中“AIGC”的概念更为大众所广泛接受,且GAI本身与AIGC亦密不可分,故出于易读性考量,后续所有“AIGC”均涵括了“Artificial Intelligence”本身及作为其产物的“Generated Content”,也即我们使用“AIGC”的缩写来指示生成式人工智能及其生成内容这样一个整体的概念。

根据生成内容类型的不同,AIGC在各行各业中有着广泛的应用场景。例如,AI生成文字可以用于新闻领域的写稿等文章产出活动;AI生成文字和AI生成图片相结合,通过输入文字获得动漫图片、结构设计图甚至CAD模型,可以用于艺术设计和工业设计等领域;AI生成音频、视频等可以用于电商领域的虚拟主播带货等。目前,AIGC的应用场景呈现出跨模态、跨领域的趋势,许多借助这一技术的全新产品不断涌现,有望助力绝大多数行业的数字化和智能化快速演进。

Q2. AIGC的开发包括哪些技术概念?AIGC的开发过程是什么?

AIGC的开发流程一般包括以下基本技术概念:训练数据算法硬件设施模型文件。四者的关系可以通过AIGC的开发过程来辨明:首先将训练数据提供给一个能力较差的“白纸”AI,并在硬件设施如GPU、CPU的支持下,使用算法指导AI不断对训练数据进行学习和识别,亦即对AI进行“训练”,最终将经过训练能够对外界输入做出恰当反应并生成相应内容的AI进行固定和保存,形成一个存放了AI结构和参数等的大型特殊数据库,这个数据库就是所谓的模型。即,模型就是一般语境下的“AI”本身,故模型在AIGC开发中占据最重要地位。

除上述基本技术概念外,AIGC的开发中还包括代码和软件等概念,其与算法和模型等概念有所不同。算法只是一种思想,要用这种思想指导AI训练,就需要将算法编写成代码,即代码是算法的实现;而软件则是指在已有模型基础上进一步开发形成各种产品,其需要为已有模型添加接口或GUI界面等,方便用户使用。
Q3. AIGC开发和我们通常认知的软件、APP等互联网产品开发有什么区别?
AIGC与传统的软件或APP等开发主要存在两处不同:

一是产品核心的多元化。传统软件、APP等是为了完成用户特定需求,将解决问题的算法编写为代码,代码(算法)即是产品的运转逻辑,故对于这些产品而言,最重要的核心就是代码(算法)本身,得到了源代码即可还原产品。而对于AIGC而言,虽然指导模型训练的算法仍很重要,但数据、硬件以及最终得到的模型亦不可忽视。即使得到了源代码,如果没有优质数据和硬件的支持,也很难还原出效果良好的模型。因此,相较于传统软件、APP等仅以源代码为核心,AIGC的核心呈现出“一主三副”的态势,即只有在代码(算法)、数据和硬件三个副核心的支持下,才能得到最为重要的模型这一主核心。

二是运行逻辑的黑箱化。对于传统软件、APP而言,通过对源代码的解读即能基本完全还原出其运行逻辑,即只要有了代码(算法),软件、APP等就是“透明”的,无论是用户还是监管方都能比较直白地理解其工作过程。但正如前文所言,在AIGC中,代码(算法)只是三个副核心中的其中一个,即使得到了代码(算法),也只能对AIGC的运行逻辑有大致了解。这是因为,代码(算法)只能做到指导AI如何对数据进行学习,但AI本身是在主动学习,其在训练数据中学到了什么样的知识,建立了怎样的神经元结构和相应参数库,是无法完全跟踪和全部预测的。打个比方,算法就像是老师告诉学生应当将错题与正确答案对比,找到错的地方并改错;但学生在刷题过程中具体错了哪些题,在改错过程中每一道错题对学生大脑中的知识体系产生了怎样的影响,则是老师也很难完全还原出来的。这种AI运行逻辑的不可知性被称为“算法黑箱”,是AI领域老生常谈的问题,也在AIGC中有所体现,例如,ChatGPT上线之初常常会自己编造虚假信息,但OpenAI对于其具体为什么会产生这种问题也语焉不详。

提请注意,企业在进军AIGC领域时,应当关注到以上两点AIGC与传统互联网产品之间的不同之处,并依此对开发策略和商业思路做出适当的调整,如相较于代码,应当更加关注和重视模型,并尽可能提升算法的可解释性等。
Q4. AIGC与传统AI技术有什么区别?ChatGPT等大语言模型相较于一般AIGC产品又有什么区别?
AIGC与传统AI最大的不同其实就藏在其名称之中。传统AI技术的任务重心在于“判别”,其本质是针对有标准化答案的问题,在几个固定好的答案之中做出选择,例如已经被广泛使用的AI人脸识别技术即是对输入的人脸给出“是否与照片相似”的二元化回答。而AIGC的任务重点在于“生成”,其本质是针对无标准化答案的问题给出创造性回答,例如绘画AI能够根据用户提供的几个关键词就画出一幅具备相当艺术价值的图画,或是根据用户照片画出不同风格的动漫肖像,ChatGPT能够回答用户各种角度刁钻的问题等。相较于传统AI技术,AIGC能在创造性工作上展现出与人类相媲美的能力。

进一步地,在AIGC产品中,ChatGPT这类“大语言模型”采用了加入人工反馈的无监督学习机制,相较于采用了有监督学习机制的AIGC亦较为特殊,这体现在两个方面:一是能够进行多模态的输入输出,完成多种类型的任务;二是能够和用户进行动态交互从而调整自身。以ChatGPT与绘图AI对比为例,绘图AI虽然具备创造能力,但仍仅能完成“依照用户的输入生成相应的输出”这一较为单调的工作,也无法通过询问用户意见来优化自身,在使用感受上较为接近普通的软件产品。而ChatGPT则能够完成回答问题、写文章、翻译甚至写代码等多种任务,并且能够与用户实时交互,通过和用户的不断交流沟通,达到对所给命令的正确理解,最终输出用户所需的答案,其在使用感受上就如同在与人类交流一般。
Q5. AIGC的产品形态有哪些?
AIGC产品是指以模型为基础衍生开发出的各类互联网产品,依据运用层面不同,可以将AIGC产品分为三个层级:

第一层可称为基础层。本层提供模型本身,服务理念为“模型即服务”(Moder as a Service,MaaS),其主要服务模式为将模型封装起来,使得模型能够以软件、网页平台或是API接口等形式向外界直接提供服务,并从中收取费用。例如,ChatGPT就是典型的基础层产品,其由OpenAI公司负责全程的研发训练,训练好后即向用户提供直接询问和接口调用两种服务形式,并有效果更好的GPT-4等供付费使用。由于从头开始研发模型成本较高、前期投入巨大,因此本层主要由少数头部大型企业或研发机构主导。

第二层可称为二改层。本层不具备自主从头研发模型的能力,但是可以在开源模型的基础上进行微调和改进,形成适用于特定垂直领域、具备特定专向功能的轻量级模型或工具。例如,许多开发者基于开源图像大模型Stable Diffusion所开发的各种AI绘图软件就是典型的二改层产品,他们在Stable Diffusion的基础上进行微调、改进和封装,使其可以更好地适用于用户的个性化需求。本层的服务模式仍以API或软件为主。

第三层可称为应用层。本层亦不具备模型研发能力,也一般不会对已有模型做改动,而是会在前两层的基础上进行进一步封装,为用户提供各式各样新形态、新功能的服务。本层开发者甚至可能不会接触到初始模型本体,而是只调用模型API以充实自己的功能。例如,某产品称自己基于ChatGPT,可以阅读PDF文件,并回答用户有关PDF的提问,但其本身其实并未接触到模型,而只是将用户上传的PDF文件转成文字后,通过API传给ChatGPT让其阅读并回答,再将回答传回给用户,相当于一个“中介”。本层的服务模式非常多元化,除了网页和电脑软件外,APP、小程序甚至微信群聊中的聊天机器人都可以作为产品形态。
Q6. AIGC产品的开发和使用涉及到哪些主体?

AIGC产品的开发和使用所涉及的主体范围及含义依产品所在层级不同而不同。基础层较为简单,用户直接与模型研发者交互,模型研发者和服务提供者合二为一;二改层稍复杂,用户与二次开发者交互,此时二次开发者仍和服务提供者合二为一,但部分情况下亦有可能涉及到初始模型研发者;应用层则更为复杂,此时模型研发者与服务提供者(即“中介”)的角色相分离,“中介”自己本身既是模型的使用者,又是向用户直接提供服务的一方,而模型研发者则是间接向用户提供服务的一方,因此本层产品往往涉及三方主体,在权责划分上存在诸多需要厘清的问题。

提请注意,企业在开发AIGC产品时,有必要从一开始就明确产品的形态和企业所扮演的角色,从而在出现问题时能够清晰地辨明主体责任、降低法律风险。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/170852
 
218 次点击