文章目录
- 1. AI 革命爆发了
- 2. 回顾 AI 历史
- 3. 什么是 ChatGPT?
- 4. 为什么你应该学习 AI ?
- 5. 我们该如何学习 AI
- 5.1 第一点是你要多尝试运行代码和修改代码。
- 5.2 第二点是你要多去体验各类 AI 的应用
- 5.3 第三点做头脑风暴,创造有趣新产品
- 6. 我们利用 AI 工具可以做什么
- 6.1 让 ChatGPT 成为你学习知识的助教
- 6.2 通过翻译插件快速浏览英文资料
- 6.3 通过 AI 辅助你来读论文
- 6.4 让 AI 先写点代码打个样
- 6.5 没有创作灵感?让 AI 给些建议
1. AI 革命爆发了
伴随着 AIGC 和 ChatGPT 的出现,这一个月内,我的网络生活周边遭受到了的 AI 革命浪潮的严重轰炸。
GPT-3
还没捂热乎呢,GPT-4 来呢;- 国内首款 AI 聊天机器人诞生——文心一言,竟转瞬之间担任起了搞笑达人;
- 微软的
Bing
与ChatGPT
集成,让 Bing 浏览器下载率飙升; - 随后,微软将 ChatGPT 搬进了 Office 全家桶,妥妥地生产力工具了;
Google
的Bard
上马对抗 ChatGPT;midjourney
超强 AI 绘画让人玩的不亦说乎;- 各类 AI 工具可谓是百花齐放、百家争鸣。
- 等等
英伟达的创始人黄仁勋先生说,ChatGPT 的发布堪称是人工智能产业发展的 “iPhone 时刻
”。没错,是该到了拥抱 AI 工具作为生产力的时候了。
上周当我打开《极客时间》还在啃噬云原生的时候,突然,发现了上一个新的专栏——《AI 大模型之美》。
作者是徐文浩,bothub 创始人,布奇托网络科技创始人兼 CTO。毕业于上海交通大学计算机系试点班,在 Trilogy Software 写过大型企业软件。在极客时间他还有另一个专栏《大数据经典论文解读》,妥妥地骨灰级大佬见证完毕。
新专栏《AI 大模型之美》的目录如下:
**首先,这门课程不是一个理论课程,而是一个实践课程。**每一节课,我们都会提出一个需要解决的实际问题。比如,用户对于商家评论的情感分析,能够记住上下文的聊天机器人,如何通过用户输入的关键词搜索图片等等。而伴随着这个问题的,则是通过几行或者几十行代码解决问题的整个过程。
所有的这些代码,基本都可以通过在线的 Notebook 的方式运行,不需要你在自己的电脑上搭建开发环境。即使你是一个产品经理或者业务方,你也可以自己动手体验到新一代的 AI 应用,开发起来是多么的简单便利。
其次,这门课程不只是对 OpenAI 的 API 的讲解,我们既会去尝试一些开源模型,也会去覆盖语音、视觉的应用场景。我不只会给你一个打字聊天的机器人,也会带你体验语音识别、语音合成、AI 作画等一系列应用开发的过程。我们不仅会使用 OpenAI 的 API 这样便捷的方式,也在特定场景下会选用本地部署的开源模型,甚至是基于你拥有的数据去微调这些模型。
第三,我不仅会告诉你现在 AI 有什么能力,还会教你实际使用 AI 的套路。比如分类、搜索、推荐、问答这些问题,应该如何用现有模型的能力来解决,有什么固定的模式可以解决这些问题。你可以立刻把这些方法和套路放到你现有的业务系统里,立刻通过 AI 给你的应用提升体验与效率。
**最后,随着课程的推进,你会看到组合多个 API、开源模型和开源库去解决复杂的真实问题的场景。**如果你想实现一个电商客服,你不仅需要检索知识库和问答的能力,同样需要去连接你现有的订单和物流信息的能力。如何在 AI 应用的开发过程中,将复杂的业务流程串起来,不是简单地调用一下 API 就能做到的。但是在学习完这个课程之后,相信这些对你都不再是难事儿了。
那针对这四个目标,我把课程分成了 3 个模块。
- 第一个模块,是基础知识篇。这里,我会带你探究大型语言模型的基本能力。通过提示语(Prompt)和嵌入式表示(Embedding)这两个核心功能,看看大模型能帮我们解决哪些常见的任务。通过这一部分,你会熟悉 OpenAI 的 API,以及常见的分类、聚类、文本摘要、聊天机器人等功能,能够怎么实现。
- 第二个模块,是实战提高篇。我们会开始进入真实的应用场景。要让 AI 有用,不是它能简单和我们闲聊几句就可以的。我们希望能够把自己系统里面的信息,和 AI 系统结合到一起去,以解决和优化实际的业务问题。比如优化传统的搜索、推荐;或者进一步让 AI 辅助我们读书读文章;乃至于让 AI 自动根据我们的代码撰写单元测试;最后,我们还能够让 AI 去决策应用调用什么样的外部系统,来帮助客户解决问题。
- 第三个模块,我们来重点关注语音与视觉。光有文本对话的能力是不够的,我会进一步让你体验语音识别、语音合成,以及唇形能够配合语音内容的数字人。我还会教会你如何利用现在最流行的 Stable Diffusion 这样的开源模型,去生成你所需要的图片。并在最后,把聊天和画图结合到一起去,为你提供一个“美工助理”。
这个课程,能够教会你高效利用新一代 AI 强大的能力,去解决真实场景下的问题。如果你是一个工程师,你可以立刻把学到的代码、方法和模型用到你的工作里去。如果你是一个产品经理或者业务人员,相信你也能从这个课程里,了解到 AI 能够做的事情,以及现在做起来能有多简单。
课程目录关于针对当下十分火热的各类 AI 工具做了一个系统汇总。这不正是自己想要的嘛,果断购买。
为什么我喜欢极客时间的课程。文章没有干巴巴、整齐划一的目录或者极度抽象的理论,而是亲力亲为、慢条斯理的场景描述、逻辑表达,这是极客时间最大的风格,最大特点是作者的文章涉及到不仅仅是一步一步的实践教学,而是每篇文章对讨论的话题通过一个个技术关键点构筑一个完美系统的缩影。促使每位同学自觉探索每一个技术关键点的更多细节与姿势。
2. 回顾 AI 历史
在ChatGPT问世以前,人工智能领域已经有了很长的历史和发展。在20世纪50年代初期,人工智能就已经成为了一个独立的学科,并吸引了众多的研究者和机构的关注。但是,在那个时期,由于计算机技术和算法的限制,人工智能还处于非常初级的阶段。
从20世纪60年代开始,人工智能开始进入第一个高峰期。当时,一些著名的计算机科学家和研究者,如John McCarthy、Marvin Minsky、Allen Newell和Herbert Simon等,开始致力于研究人工智能的理论和方法,并取得了一些重要的进展。例如,他们发明了逻辑推理、搜索、专家系统等技术,使得人工智能得以应用于一些具体的领域,如游戏、语言翻译、图像识别等。
然而,在20世纪80年代,由于一系列因素的影响,人工智能进入了一个相对低迷的阶段。其中最主要的因素包括计算机处理速度的瓶颈、数据量不足、算法的局限性以及资金和资源的匮乏等。这导致了人工智能的发展进程受到了一定程度的限制,并一度被认为是一种“失败的科学”。
直到近年来,随着计算机技术和算法的不断提升,以及大数据和云计算等技术的兴起,人工智能开始重新受到人们的关注,并取得了一些令人瞩目的成果。在当前的人工智能领域中,谁主宰该领域的发展主要取决于技术和应用领域。例如,在自然语言处理领域,Google、Microsoft、IBM等科技巨头在技术和应用方面占据了重要地位;在计算机视觉领域,Facebook、Amazon、Baidu等公司也是领先者之一。同时,还有一些新兴的公司和创业团队,如OpenAI、DeepMind、SenseTime等,也在人工智能领域发挥着重要的作用。
3. 什么是 ChatGPT?
- ChatGPT 是由总部位于旧金山的初创公司 OpenAI 开发的人工智能聊天机器人。该公司于 2022 年 11 月 30 日推出了 ChatGPT。
- OpenAI 于 2015 年由 Elon Musk 和 Sam Altman 共同创立,并得到了知名投资者的支持——最著名的是微软。
- ChatGPT 是一种由 AI 技术驱动的自然语言处理工具,可让您与聊天机器人进行类似人类的对话等等。语言模型可以回答问题,并协助您完成撰写电子邮件、论文和代码等任务。
- ChatGPT 是一种大型语言模型 (LLM)。大型语言模型 (LLM) 使用大量数据进行训练,“GPT-3 有 1750 亿个参数,并接受了 570 GB 文本的训练。相比之下,其前身 GPT-2 的参数量为 15 亿个,小了 100 多倍。
4. 为什么你应该学习 AI ?
第一个原因,是这一轮的 AI 浪潮里,开发新的 AI 应用的门槛大大降低了。过去,AI 应用开发是一个门槛比较高的领域。你需要有不错的数学基础,熟悉微积分、线性代数和概率论;然后掌握大量的机器学习和深度学习的知识,了解各种基础模型,比如逻辑回归、SVM、CNN、LSTM 等等的原理和实现;接着,你还要学会使用各种机器学习的编程框架,比如 TensorFlow 或者 PyTorch,买上一块价格不菲的 GPU 尝试训练模型;最后,你还需要理解在实际应用里锤炼机器学习的各种实战技巧和模型,比如各种各样的特征工程方式、Dropout 等正则化方法、超参数调优等等。对于没有相关经验的人来说,不花上个一两年时间,你可能很难说得上能用 AI 算法做出一些有价值的产品出来。但是这一轮的 AI 浪潮完全不用。伴随着 GPT-3、Stable Diffusion 这样预训练好的大型基础模型的出现,以及这些模型的能力通过开放 API 的形式提供出来,即使没有任何机器学习的理论知识,你只需要一两天时间,就能做出一个能解决实际问题的 AI 应用。比如,最近你在 GitHub 上就能看到很多工程师,花上 1-2 天时间就做出来的图书翻译、人工智能语音对话的应用。任何一个稍有开发经验的工程师,都能够在几周甚至几天之内,学会使用这些基础模型以及相应的开放 API 开发出有使用价值的应用。
from langchain.llms import OpenAIChat
from langchain.text_splitter import SpacyTextSplitter
from llama_index import GPTListIndex, LLMPredictor, SimpleDirectoryReaderdocuments = SimpleDirectoryReader('./data/mr_fujino').load_data()
llm_predictor = LLMPredictor(llm=OpenAIChat(temperature=0, model_name="gpt-3.5-turbo", max_tokens=1024))
list_index = GPTListIndex(documents, llm_predictor=llm_predictor, text_splitter=SpacyTextSplitter(pipeline="zh_core_web_sm", chunk_size = 2048))
response = list_index.query("下面鲁迅先生以第一人称‘我’写的内容,请你用中文总结一下:", response_mode="tree_summarize")
print(response)
第二个原因,是这一轮的 AI 浪潮里,对应技术能够应用的范围非常广泛,可以说是包罗万象。AI 本身是计算机刚刚发明出来就有的学科,在历史的进程中也有过很多次大的进步和发展。比如 80 年代学习理论(Learning Theory)的发展,就使得 SVM 在实践中被大量应用。2000 年之后随着互联网广告的高速发展,海量参数的分布式机器学习就被广泛运用在搜索、推荐和广告的业务中。2012 年随着 AlexNet 的发布,深度学习和卷积神经网络(CNN)就带来了计算机视觉的爆发。但是,这些历史的发展,往往只是某一个细分领域上的进步。而且这个过程里,对于每一个具体问题我们都要单独收集数据、训练单独的机器学习模型来解决里面某一个小问题。
从 2020 年的 GPT-3 开始,拥有海量参数的大模型登上了历史舞台,直接使用 GPT-3 这样的预训练好的大语言模型,无需任何微调,就能解决情感分析、命名实体识别、机器翻译等一系列的自然语言处理问题。而对于很多 AI 没见过的问题,也只要通过自然语言给到 AI 几个例子,通过“小样本学习”(Few-Shot Learning),AI 就能给出正确的回答。
在计算机视觉上,像 2021 年 OpenAI 发表的 CLIP 这样的模型也有类似的效果。我们对于图片的分类不再局限于预先的人工数据标注的类别,而是可以扩展到任何类别上去。在自然语言、语音、视觉,乃至这些领域相互融合的多模态领域里,AI 同时在加速发展、在进步。
这一轮的 AI 浪潮开始让我们看见了“通用人工智能”(AGI)的雏形,AI 应用的覆盖领域被大大扩展了,几乎任何一个问题都有机会通过 AI 来解决优化。今天你所在的行业和领域,都有机会通过简单的 AI 应用开发,提升效率和产出。
第三个原因,是这个浪潮带来的变化会对我们每一个人的工作带来巨大的冲击。在过去短短的两三个月里,在个人生活里,我已经习惯于让 AI 帮我写代码,翻译英文资料,修改我写过的文章,为文章配图。在工作上,也已经让 AI 来优化商品文案、优化商品搜索,并且进一步开始尝试让 AI 承接更多原本需要由人来进行的工作。我不知道 AI 会不会让你失业,但是善用 AI 的团队和公司接下来一定会有更高的效率和产出。无论你是产品经理还是工程师,是产品运营还是美术设计,在这一轮 AI 浪潮下,你的工作性质都会产生根本性的改变。AI 会像一个助手一样随时陪伴在我们身边,随时帮我们解决简单的知识性工作,甚至在很多时候给我们创意性的启发。
5. 我们该如何学习 AI
采用多尝试、多体验、多做做头脑风暴的学习方法
这一门课程的目标,不是传授你 AI 的数学基础或者模型的理论知识,而是希望能够让你用几周的时间就可以上手开发 AI 应用。没有艰深的知识,在大学里往往会被称之为一门“水课”。不过,这也是这次以大模型为基础的 AI 浪潮最让人兴奋的一点。不需要你掌握多少理论和技巧,通过基础模型提供的简单的 API,任何人都可以通过几行代码开发出有实用价值的 AI 应用。所以,在这门课程的学习过程里,我希望你能够多尝试、多体验、多做做头脑风暴。
5.1 第一点是你要多尝试运行代码和修改代码。
在这门课程的每一节课里,都会有可以直接运行的代码。在学习的过程中,我推荐你去实际运行一下这些代码,体会一下实际开发 AI 应用是怎么样的。这个尝试的过程对于学习应用开发是不可或缺的。
为此,我也将课程里所有的代码部分,通过 Jupyter Notebook 的形式放在了 GitHub 上,你可以直接获取运行。对于没有技术背景的同学,我也在第 01 讲里,教会你如何在 Colab 这样的在线环境里运行代码,获得最直观的体验。而在运行了我给你的原始代码之后,我也建议你多试试看修改里面的代码,利用这些代码去使用你自己的数据、尝试你自己的想法。
注:课程里的所有代码,都可以通过 Jupyter notebook 运行。
5.2 第二点是你要多去体验各类 AI 的应用
随着 ChatGPT 的出现和 StableDiffusion 的开源,过去半年里市场上涌现出了海量的 AI 应用。多去体验一下这些 AI 产品,能够帮助你更好地理解当前 AI 能够做到多么让人震惊的事情,也同样能够让你理解到当前 AI 能力的边界。
在每节课的最后,我还会为你推荐一些我看到的 AI 应用。注册账号、下载应用,多去体验一下最新的 AI 应用,既能够激发你学习课程的动力,也能够打开你自己利用 AI 大模型能力的思路。
注:如果你还没有尝试过,一定要自己去体验一下 Midjourney,会让你大吃一惊!
5.3 第三点做头脑风暴,创造有趣新产品
在过去几个月里,冒出来了海量的 AI 应用。这些应用中,也有很多并没有太多的创意,只是简单地包装了一下 OpenAI 的 API 而已;但是,也有很多应用有很多奇思妙想,甚至直接就能够商业化。
学习课程的目的还是“学以致用”,多和你周围对新一代 AI 应用开发有兴趣的朋友们多做做头脑风暴,看看课程里的各种方法和套路能不能有不同场景和角度的应用方式。这个才是学习这个课程的真正价值所在。
注:基于 AI 的画图能力,有人让它创建大量的“填色本”,自动生成填色书进行售卖,链接。
如果你对 AI 大模型的底层原理有兴趣,你当然可以更加深入地去学习其中的数学原理和各种深度学习的模型。现在有能力去做大模型的人,是太少了而不是太多了。能够将通用人工智能再往前推进一小步,相信是所有 AI 从业者梦寐以求的事情。
6. 我们利用 AI 工具可以做什么
在 ChatGPT、Whisper 和 Stable Diffusion 这样强大的 AI 技术出现之后,我们去学习任何新技术和新知识的方式也都应该改一改了。所以,我也推荐你从这个专栏开始,利用 AI 工具来改造你学习和工作的流程。通过将 AI 嵌入生活和工作的方方面面,你不仅能够获得沉浸式的学习体验,也能够不断提升自己日常生活和工作的效率。
6.1 让 ChatGPT 成为你学习知识的助教
过去一段时间我最常用的自然是“万能”的 ChatGPT。我发现很多人觉得它没什么大用的原因是,总是问它一些过于宽泛的问题,比如“怎么学习 Java”,这样很难得到有针对性的回答。一个我最常用的用法,就是请它帮我解释一下你遇到的新知识。并且,和搜索不同,你可以针对它的回答中你不了解的知识进一步地追问,直到你觉得搞清楚了这个知识点。
注:当我研究一个新课题的时候,对于没有完全理解的名词和概念,我都请 AI 为我解释一下。
而且,ChatGPT 不仅可以解释概念,还能解释代码。你可以直接贴一段代码给到 ChatGPT,让它为你详细讲解,可以说是一个非常好的助教。而且这个助教知识广博、不知疲倦、极有耐心,绝对不会因为你有什么不懂的反复提问而表示不耐烦。
注:随手拿一段你觉得不太熟悉的代码让 AI 为你解释,比起自己去查文档要快上很多。
如果你是一个内向的工程师,相信有很多人和我一样,其实很多时候宁愿自己查资料,也不愿意张口麻烦别人。去问别人的时候,往往也会有小小的心理压力,担心自己问的问题是不是太简单了。但是,面对 ChatGPT 这样的 AI,却不会有这样的问题,而且往往效率也比通过搜索查资料快上很多。
因为 ChatGPT 的访问限制比较严格,你也可以通过 Quora 发布的 Poe 来实现同样的目标,在 Poe 里,你不仅可以使用 ChatGPT 的模型,也可以使用好几个其他的大语言模型,你也可以比较之后选择自己最喜欢的。
6.2 通过翻译插件快速浏览英文资料
对翻译来讲,查看一些网站的时候我常常是用google 自带的翻译,或者腾讯翻译浏览器插件。
除了网页文章,越来越多的音视频资料,比如各种各样的播客和视频。很多时效性最强最新的资料,都只有音频或者视频,而没有文字版。但是音频和视频没法像文字一样快速浏览一遍,做个判断值不值得去读。好在随着语音识别和文本摘要的成熟,也有很多插件可以快速帮助我们将音频和视频转录成文本,然后通过 ChatGPT 背后的语言模型生成一个摘要。这样,我就可以先快速浏览一遍摘要,决定值不值得把整个视频看一遍。比如,我最近就常常用 Glarity 这个浏览器插件,帮助我快速总结视频内容,再来决定是否要看。
注:大神约翰卡马克的访谈,我就是先让 AI 帮我总结一下,再决定要不要完整地看整个视频。
6.3 通过 AI 辅助你来读论文
通过 scispace 这个网站,把我要读的论文先传上去。然后我们可以直接向 AI 提问题,快速了解论文讲解了什么东西,然后再来决定是不是有必要进行精读。
而在精读的过程中,针对公式、图表,你也可以框选出来,让 AI 给你做详细的解释。这些工具,都可以大大降低你去学习论文的门槛,提升掌握这些复杂的知识的效率。
市场上,也有许多其他类似的工具。比如 ChatPDF 就可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。
6.4 让 AI 先写点代码打个样
另外一个最近大幅度提升我生产效率的工具,就是 AI 写代码。如果你和我一样是个工程师,而你还没有用上 GitHub Copilot,那我觉得你要做的第一件事情就是把它装上用起来。
当我有一个小需求需要实验一下,我就会找 ChatGPT 来帮忙。通过直接把具体的需求描述给 ChatGPT,往往我就得到了一段可用的代码。比起自己慢慢读教程、查文档,这是一个快得多的方法。虽然有时候,这个代码不一定够完美,但是以它为基础改造一下比起从头写起来要快得多。特别是需要用到一些新的我不熟悉的包的时候,就特别有用。
而在 VS Code 里使用 Copilot 的体验也非常棒,往往只是输入了注释或者代码的开头,它就能把后面的代码直接帮你写了。如果只是一些简单的函数调用的胶水代码,Copilot 十有八九是对的。我有一些原来在 ACM 区域赛拿过金牌的朋友,都说自己现在大部分代码都是让 Copilot 来写,自己只需要负责在一些情况下修修 Bug 就好了。
6.5 没有创作灵感?让 AI 给些建议
现在也已经有了很多 AI 的写作工具,但是在实际的写作上,我倒是并不依赖 AI 来产出内容。不过,在没有灵感的时候,让 AI 帮助我头脑风暴一下还是很有帮助的。当我围绕一个主题想要写点新内容的时候,我往往可以通过 notion.ai 来寻找灵感。虽然它的很多主意了无新意,但也会有很多时候给出我没有思考过的角度。我们不应当依赖 AI 给我们一个答案,但是把它当成一个助手,让它给我们多出些主意,是一个非常好的使用方法。
同样的,你还可以尝试给 ChatGPT 设置一个不同的人设,让它从另外一个角度帮助你思考题问题。这个时候,尽管你只有一个人,但是你还是可以组织一个各路大神汇聚的团队帮助你做头脑风暴。
注:让 Sam Altman 给你出出主意,如何创建一个优秀的孵化器。只要在这个头脑风暴的过程里,能得到 1-2 个对你有价值的点,就足够了。
当然,我是一个工程师,也常常写些博客文章,有了 ChatGPT
、notion.AI
的加持这一切变得十分方便。如果你是一个设计师,你自然要多尝试用用 Midjourney
、Dall-E 2
这样的画图工具。我相信每个人都会有一些适合自己的 AI 工具。
参考:
- 极客时间专栏《 AI 大模型之美》