当下大语言模型(LLM)应用的架构介绍

想要构建你的第一个大语言模型应用?这里有你需要了解的一切,以及你今天就能开始探索的问题领域。

img

LLM 应用架构

我们的目标是让你能够自由地使用大语言模型进行实验、打造自己的应用,并挖掘那些尚未被人注意的问题领域。为此,GitHub 的两位机器学习领域的专家——高级研究员 Alireza Goudarzi 和首席工程师 Albert Ziegler,一起探讨了当下大语言模型的前沿架构。

在这篇文章中,我们将详细介绍五个构建大语言模型应用的关键步骤、当前大语言模型应用的新兴架构,以及一些你现在就可以着手研究的问题领域。

构建大语言模型应用的五个步骤

使用大语言模型或任何机器学习(ML)模型来构建软件,其过程与传统软件开发截然不同。最明显的区别在于,开发者需要处理数据集、嵌入技术和参数权重,而不是单纯将源代码编译成二进制文件来执行命令,以便生成一致而准确的输出。毕竟,大语言模型的输出结果具有概率性,无法像常规程序那样产生可预测的输出。

img

你可以通过以下链接查看图表的详细数据:点击图表可以放大并保存。

下面,我们来详细解读一下构建大语言模型应用的五个关键步骤。👇

  1. **首先,集中精力解决一个问题。**找到一个适当的问题至关重要:这个问题要足够具体,以便你能快速迭代并取得进展,同时也要足够大,能够通过合适的解决方案给用户带来惊喜。

举个例子,GitHub Copilot 团队最初并没有试图用 AI 解决开发者面临的所有问题,而是专注于软件开发生命周期中的一个环节:在集成开发环境(IDE)中编写代码功能。

  1. **选择合适的大语言模型。**虽然使用预训练模型构建大语言模型应用可以节省成本,但如何选择合适的模型呢?以下是一些需要考虑的因素:
  • 许可证。如果你计划最终销售你的大语言模型应用,那么你需要选择一个提供商业用途许可的 API 模型。为了帮助你开始,这里有一个社区提供的开源大语言模型列表,这些模型都有商业用途的许可。
  • 模型大小。大语言模型的大小可以从 70 到 1750 亿参数不等,有些模型如 Ada 甚至只有 3.5 亿参数。大多数大语言模型(截至撰写本文时)的大小在 70 到 130 亿参数之间。

一般认为,模型参数越多(即可以调整以改进模型输出的变量),模型在学习新信息和提供预测方面的能力就越强。然而,小型模型性能的提升正在挑战这一传统观念。小型模型通常更快、成本更低,而它们预测质量的提升使它们成为了与那些对许多应用来说可能过于庞大和昂贵的大型模型相比的有力竞争者。

寻找开源大语言模型(LLM)?

可以查看我们为开发者准备的关于开源大语言模型和生成式 AI 的指南,其中包括了 OpenLLaMA、Falcon 系列等模型的列表。 模型性能。在你使用诸如微调和上下文学习等技术对大语言模型进行个性化定制之前,先评估一下模型在生成你所需输出方面的效率、速度以及一致性。你可以通过离线评估来衡量模型的性能。

什么是离线评估?

离线评估是在模型与人类互动之前,评定模型是否达到了一定性能标准的测试。这些测试通过向模型提出问题(有正确或错误的答案,而这些答案是人类所知道的)来衡量模型输出的延迟、准确性和上下文相关性。

此外,还有一部分测试用于处理含糊不清的答案,称为增量评分。这种类型的离线评估允许你将模型输出评为部分正确(例如,80% 正确),而不是简单地判定为对或错。

  1. **定制大语言模型。**训练大语言模型意味着构建支架和神经网络来实现深度学习。而定制预训练的大语言模型则是将其调整以适应特定任务,比如生成围绕特定主题的文本或者特定风格的文本。下面的部分将重点介绍后者的技术。要将预训练的大语言模型定制到你的特定需求,你可以尝试上下文学习、基于人类反馈的强化学习(RLHF)或者微调
### 当前最先进的Transformer模型概述 最新的Transformers架构持续推动自然语言处理(NLP)和其他领域的发展。这些模型不仅在性能上有所提升,在效率和多功能性方面也取得了显著进展[^1]。 #### 多模态能力增强的MiniGPT-5 MiniGPT-5是一个集成了图像生成技术Stable Diffusion以及voken生成机制的多模态大语言模型(MM-LLM)[^4]。该模型能够在训练阶段引入无分类器指导(classifier-free guidance),从而提高生成质量,尤其擅长于交替视觉-语言(VL)输出的任务执行。 #### 高效且强大的Claude 2与OpenAI最新成果 根据最近评测数据表明,在特定设置下运行时,无论是响应速度还是准确性方面,Claude 2 和 OpenAI推出的最新型号都表现出色[^3]。值得注意的是,Web版本可能会随着更新而改变行为模式;因此对于需要稳定接口的应用场景来说,API版本可能是更好的选择。 ```python import transformers # 加载预训练模型 model_name = "facebook/opt-iml-max-300m" tokenizer = transformers.AutoTokenizer.from_pretrained(model_name) model = transformers.AutoModelForCausalLM.from_pretrained(model_name) def generate_text(prompt, max_length=50): inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_length=max_length, num_return_sequences=1) result = tokenizer.decode(outputs[0], skip_special_tokens=True) return result ``` 此代码片段展示了如何加载并使用一个基于Opt-IML框架构建的大规模因果语言建模(Causal Language Modeling)工具来生成文本序列。这代表了一类广泛应用于对话系统、自动摘要等领域中的先进方法之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值