3

60行NumPy代码加载GPT

 1 year ago
source link: https://www.jdon.com/65016.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

60行NumPy代码加载GPT

在本文中,我们将仅用60 行numpy. 然后,我们会将 OpenAI 发布的经过训练的 GPT-2 模型权重加载到我们的实现中,并生成一些文本。

GPT代表生成式预训练变压器。它是一种基于Transformer的神经网络架构Jay Alammar 的 How GPT3 Works是对 GPT 的高级介绍,但这里是 tl;dr:
  • 生成式:GPT生成文本。
  • 预训练:GPT接受了大量书籍、互联网等文本的训练......
  • Transformer:GPT 是一个只有解码器的transformer神经网络。

OpenAI 的 GPT-3Google 的 LaMDACohere Command XLarge等大型语言模型 (LLM)只是底层的 GPT 。它们的特别之处在于它们恰好是1)非常大(数十亿个参数)和2)在大量数据(数百 GB 的文本)上进行训练。
从根本上说,GPT 会根据提示生成文本。即使使用这个非常简单的 API(输入 = 文本,输出 = 文本),一个训练有素的 GPT 也可以做一些非常棒的事情,

  • 这篇文章假定您熟悉 Python、NumPy 和一些训练神经网络的基本经验。
  • 我写这篇文章的目的是对作为教育工具的 GPT 进行简单易懂但完整的技术介绍。因此,我们只使用已经训练好的模型权重来实现前向传递代码。
  • 了解 GPT 架构是了解 LLM 的重要部分,但架构只是拼图的一小部分。大规模分布式训练、收集数 TB 的高质量文本数据、加快模型推理速度、评估性能以及使模型与人类兴趣保持一致是 100 多名工程师/研究人员毕生的工作,他们需要让 LLM 成为今天的样子,而不是只是架构。[1]
  • 这篇博文的所有代码都可以在github.com/jaymody/picoGPT找到。
  • 黑客新闻线程
详细点击标题

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK