变压器入门:类似ChatGPT和BERT的变压器是如何工作的,它们如何开创性,并且AI的未来是什么

所以,我就在那里,随便地听着埃里克·温斯坦在YouTube上的播客之一。你知道埃里克 - 他是那位具有挑战传统智慧才能的数学家和经济学家。他有一种谈论从物理到政治的方式,让你停下来,眯起眼睛,然后努力保持跟上。在这一集中,正在进行一场热闹的政治讨论时,埃里克随意提到了一些叫做“变形金刚”的东西。不是那种可以变成汽车的机器人 - 不,这些是一种很高级的人工智能。他用它作为比喻,我不会说谎,我并没有完全理解他的意思。所以,自然而然的,我做了2024年任何好奇的人都会做的事情:深入挖掘一下变形金刚。哇,我学到了很多。下面是我发现的有关这些变形金刚模型如何运作,它们为什么如此重要以及这项技术未来可能发展方向的信息。

到底变形金刚是什么?

简言之,变压器是机器学习中一种模型类型,彻底改变了我们处理语言处理方式。当人们谈论ChatGPT或BERT时,他们谈论的是变压器架构的应用。但让我们从头开始。变压器是一种深度学习模型 - 一种架构 - 它使得人工智能能够理解语言,预测接下来会发生什么,回答问题,甚至进行看起来相当类似人类的对话。

变压器模型是由Vaswani等人在2017年的一篇名为“注意力就是一切”的研究论文中引入的。这里的重点是引入了自注意力——这个概念对机器学习已被证明具有革命意义。

变压器与早期模型有何不同

在变压器出现之前,我们有称为循环神经网络(RNNs)和长短期记忆(LSTM)网络的模型。现在,这些模型在处理序列(如句子)方面效果还不错,但它们存在一个主要缺陷 - 它们很难记住序列中发生得太久远的事件。想象一下读一本书,当你读到结尾时却忘记了章节的开始。这样并不太有用,对吧?

RNNs和LSTMs按顺序工作,这意味着它们逐个读取单词,使它们更难捕获整个上下文。然而,Transformers却抛弃了这种旧的顺序约束。与其逐个处理每个单词,Transformers一次性查看整个序列。这样,它们可以理解句子中哪些部分最重要,而不受其位置的影响。

这就是注意力机制发挥作用的地方。它允许变换器在一个序列中给某些词分配更多的重要性。例如,在句子“那只非常蓬松的猫追逐老鼠”中,变换器可以确定“老鼠”是理解被追逐对象的关键,而不被猫的蓬松分散注意力。这种“关注”的能力是使变换器在自然语言处理领域成为游戏改变者的原因。

从BERT到GPT:有什么不同?

变形金刚有几个著名的孩子——BERT和GPT就是其中之一。让我们来分析一下它们的区别。

BERT代表双向编码器变换器表示。关键在于“双向”。当BERT处理文本时,它会阅读单词两侧的整个上下文。就像前后阅读一段话以理解每个细微差别。这让BERT擅长理解特定上下文中单词的含义。例如,在理解“bank”一词是指河岸还是金融机构时,BERT的双向阅读非常有帮助。

GPT,就像我们都熟悉的ChatGPT一样,来自生成预训练变换器家族。GPT以单向方式阅读文本——从左到右。它的强项在于生成听起来自然和连贯的文本,这使其非常适合用于聊天机器人、撰写文章,甚至创作诗歌。GPT可以预测句子中接下来会出现什么,从而使其能够与人类进行流畅对话。

为什么变形金刚如此强大

好,那么变形金刚是如此强大的原因是什么?这是因为它们具有理解上下文的能力 - 不仅仅是单词,还包括每个单词在句子甚至段落中如何相关。它们通过一种叫做位置编码的东西来实现这一点。这使得变形金刚能够理解每个单词在句子中的位置,从而使它们更好地理解结构和含义。

真正的魔力在于它们的可伸缩性。变压器可以处理庞大的数据集,这意味着它们可以在从维基百科文章到Reddit帖子等各种数据上进行训练,使它们成为广阔的人类语言和知识的库。它们接触的数据越多,它们就越擅长理解和生成类人文本。

事情的发展方向

变压器已经让我们离拥有几乎像人类一样理解语言的人工智能更近一步。但未来呢?它关乎更接近一般智能——人工智能不仅能理解单词,还能理解人类经验、情感和不同领域中的语境细微之处。

我们正在向多模态变压器迈进,这意味着人工智能不仅仅能理解文本,还可以将文本与图像、声音甚至视频相结合。想象一下,向人工智能请求总结Youtube视频,只需提供链接,或者给它一张照片,让其生成一个描述性故事。变压器将更加融入我们的日常工具中,使搜索引擎、虚拟助手甚至创意工作更加直观和强大。

如何将变压器集成到基本搜索栏应用中

因此,让我们说你被这个变形魔法吸引,并希望在一个基本的应用程序中使用它。让我逐步向您展示如何做到这一点:

  1. 设置您的环境:首先,您需要确保您的开发环境已设置好。如果您正在使用Python,请安装来自Hugging Face的Transformers等必要库和Flask来创建一个基本的 Web 应用程序。使用这个命令:
  2. pip install transformers flasks
  3. 加载预先训练的Transformer:对于搜索栏应用程序,您需要使用可以理解和处理查询的变换模型。您可以使用BERT或GPT-3,取决于复杂性。使用Hugging Face的库,您可以加载一个预先训练的模型,就像这样:
  4. from transformers import pipeline
    nlp = pipeline("question-answering")
  5. 创建搜索栏:使用Flask来设置一个带有HTML搜索栏的简单网页。以下是一个基本的代码片段:
  6. from flask import Flask, request, render_template
    app = Flask(__name__)

    @app.route('/')
    def home():
    return render_template('search.html')

    @app.route('/search', methods=['POST'])
    def search():
    query = request.form['query']
    # Use the transformer to process the query
    result = nlp({'question': query, 'context': "Your large text dataset goes here."})
    return f"Answer: {result['answer']}"

    if __name__ == '__main__':
    app.run()
  7. 测试一下:运行您的Flask应用程序,在浏览器中打开,然后输入一个查询。变换器将在上下文中处理查询并返回一个答案。

变形金刚不仅仅是科幻片用的

老实说,当我第一次在那个播客中随意听到“变形金刚”这个词时,我想到的是擎天柱和大黄蜂——做着很酷的机器人事情。不过,现实同样令人兴奋。作为人工智能模型的变形金刚已经改变了我们处理语言、理解意义和与技术互动的方式。它们将语言处理从感觉机械化转变为理解我们的方式,使得像ChatGPT这样的人工智能助手成为可能。

接下来是什么?变形金刚很可能会继续扩展到其他领域 - 音乐,图像,甚至可能是情感识别。可能性是无穷无尽的。虽然它们可能不会变成汽车或拯救宇宙,但它们正在做一些非常了不起的事情 - 他们正在逐字地让我们的生活变得更加容易。

如果你迷失在解释的过程中,记住:关注就是你所需要的一切!

2024-09-29 04:16:32 AI中文站翻译自原文