干货!如何选选择Ai大模型(LLMs)?


过去一年里,大型语言模型(LLMs)在人工智能界风起云涌,纷纷以突破性的进步拓展生成式人工智能的可能性。新模型层出不穷,令人目不暇接。
这些模型依靠日益增长的参数数量和庞大的数据集进行训练,显著提升了我们生成文本和编写(以及理解)复杂代码的效率。在选择大模型时,如何权衡输出质量、速度和成本成为了一个重要问题。答案不仅仅取决于参数规格表或基准测试分数,更在于对每个模型优势的整体理解。
在这篇博文中,我们将分享过去一年中精选的 LLMs 清单,并解答关于大模型选择及应用的一些常见问题。
Llama 3
近期,Meta 重磅发布发布两款开源Llama 3 8B与Llama 3 70B模型,供外部开发者免费使用。Meta表示,Llama 3 8B和Llama 3 70B是目前同体量下,性能最好的开源模型。牛!手机上轻松部署大模型全攻略!
LLaMA 无疑是开源模型的顶流,国内好多大模型都是基于它实现的!它通过人类反馈的强化学习 (RLHF) 进行了微调。它是一种生成文本模型,可以用作聊天机器人,并且可以适应各种自然语言生成任务,包括编程任务。Meta 已经推出了 LLaMA 3、Llama Chat 和 Code Llama 的开放定制版本。
模型下载链接:https://llama.meta.com/llama-downloads/
GitHub项目地址:https://github.com/meta-llama/llama3

为什么要使用 Llama 3:
性能:基于 Meta AI 的基准测试,Llama 3 表现出比其他开源模型更好的理解、推理和一般智能能力。
微调:Llama 3 具有三种不同的尺寸,是各种专业应用的理想基础。用户可以对它们进行微调,以满足特定任务或行业的独特需求(在 Hugging Face Model Hub 中有超过 12,000 个搜索结果“Llama2”)。这些微调的模型不仅为开发人员节省了大量时间和资源,而且还有力地证明了 Llama 3 的定制和改进能力。
安全性:Llama 3 的设计重点是生成安全响应,在拒绝不适当的请求方面表现更好,非常适合企业和面向公众的应用程序。在 Meta 的评估中,具有 7B、13B 和 70B 参数的 Llama 3 模型表现出的安全违规百分比(3% 和 4%),超过了 Falcon 和 ChatGPT (7%)。
挑战:
编码能力:Llama 3 的编码任务能力不如一些专门的模型,比如 Code Llama,尤其是对于复杂的编程任务。
预防机制:如上所述,出于安全考虑,Llama 3 可能比其他模型更保守,这种对内容生成的立场有时可能过于限制,限制了动态交互。
多语言限制:Llama 3 主要使用英语数据进行训练,在处理非英语语言任务方面的能力有限,这可能会影响其在多语言环境中的使用。
Mistral 8x7B
Mistral AI 于 2023 年 12 月发布的 Mixtral 8x7B 使用稀疏的专家混合架构。简单地说,它使用许多小型网络,每个网络都专注于不同的事情。这些“专家”中只有少数人负责每项任务,使流程高效,而无需每次都使用整个模型的功率,从而控制成本和延迟。
Mixtral 8x7B 根据 Apache 2.0 许可获得商业用途许可,在各种文本生成任务(包括代码生成)中表现出卓越的多功能性,并具有针对聊天应用程序进行优化的微调变体 Mixtral 8x7B Instruct。
为什么要使用 Mixtral 8x7B:
最先进的性能:Mixtral 8x7B 在许多基准测试中都优于 Llama 3 70B 和 GPT-3.5 等领先型号。

链接:https://mistral.ai/news/mixtral-of-experts/
长上下文窗口:Mixtral 8x7B 的 32k 令牌上下文窗口显著增强了其处理冗长对话和复杂文档的能力。这使得该模型能够处理各种任务,从详细的内容创建到复杂的检索增强生成,使其在研究和商业应用中具有高度的通用性。
针对效率进行了优化:尽管参数数量较大,但它提供了经济高效的推理,可与小得多的模型相媲美。
多种语言支持:Mixtral 8x7B 可处理多种语言(法语、德语、西班牙语、意大利语和英语),非常适合全球应用。

来源:https://mistral.ai/news/mixtral-of-experts/
Mixtral 8x7B 的挑战:
缺乏内置的审核机制:如果没有本机审核,可能会有生成不适当或有害内容的风险,尤其是当模型被提示敏感或有争议的输入时。旨在在内容控制和安全很重要的环境中部署此模型的企业应谨慎对待这一点。
硬件要求:整个参数集需要大量的RAM才能运行,这可能会限制其在低端系统上的使用。

Zephyr 7B
Zephyr 7B建立在Mistral 7B的基础上,经过微调,可以更好地与人类的意图保持一致,在特定任务和基准测试中优于同类产品。在发布时,Zephyr-7B-β 是 MT-Bench 和 AlpacaEval 基准测试中排名最高的 7B 聊天模型。
Zephyr 7B的训练包括通过接触大量的语言模式和上下文来完善其能力。这个过程使它能够理解复杂的查询并生成连贯的、与上下文相关的文本,使其成为内容创建、客户支持等的多功能工具。
为什么要使用Zephyr 7B:
效率和性能:尽管与 GPT-3.5 或 Llama-2-70B 等巨头相比,Zephyr 7B 的尺寸较小,但可提供可比或卓越的性能,尤其是在需要深入了解人类意图的任务中。
多语言能力:Zephyr 7B 在多样化的数据集中进行训练,支持多种语言的文本生成和理解,包括但不限于英语、西班牙语、法语、德语、意大利语、葡萄牙语、荷兰语、俄语、中文、日语和韩语。
任务灵活性:Zephyr 7B擅长执行广泛的语言相关任务,从文本生成和摘要到翻译和情感分析。这使它成为众多应用中高度适应性的工具。
Zephyr 7B的挑战:
意图一致性:虽然Zephyr 7B在与人类意图保持一致方面取得了一些进展,但可能需要持续评估和调整,以确保其输出满足特定的用户需求或道德准则。
适应专业任务:根据应用的不同,可能需要额外的微调来优化Zephyr 7B在专业任务(如推理、数学和编码)中的性能。
SOLAR 10.7B
SOLAR 10.7B 是一个具有 107 亿个参数的大型语言模型,使用一种称为深度升频 (DUS) 的升频技术。这简化了扩展过程,无需复杂的训练或推理调整。
SOLAR 10.7B 经历了两个微调阶段:指令调谐和对准调谐。指令调整增强了其遵循 QA 格式指令的能力。对齐调整进一步完善了模型,以更紧密地与人类偏好或强大的 AI 输出保持一致,同时利用开源数据集和以数学为重点的合成对齐数据集。
为什么要使用SOLAR 10.7B:
多功能性:SOLAR 10.7B-Instruct 等微调型号提供增强的指令跟踪功能,使该模型能够用于广泛的应用。
卓越的 NLP 性能:SOLAR 10.7B 在 NLP 任务中表现出卓越的性能,优于 Llama 3 和 Mistral 7B 等其他预训练模型。
微调:SOLAR 10.7B 是微调的理想型号,具有坚实的基线功能。
SOLAR 10.7B面临的挑战:
资源要求:模型可能需要大量计算资源进行训练和微调。
偏见问题:模型的输出可能并不总是符合道德或合理使用原则。
Code Llama
Code Llama 在 Llama 3 上进行了微调,是一款专门针对编码任务进行微调的高级LLM软件。它旨在理解和生成多种流行编程语言的代码,包括 Python、C++、Java、PHP、Typescript (Javascript)、C# 和 Bash,使其成为开发人员的理想工具。
该模型有四种尺寸(7B、13B、34B 和 70B 参数),以适应各种用例,从低延迟应用程序(如 7B 和 13B 型号的实时代码完成)到 34B 和 70B 型号提供的更全面的代码帮助。
为什么要使用 Code Llama:
大型输入上下文:Code Llama 可以处理多达 100,000 个令牌的输入,从而更好地理解和操作大型代码库。
多样化的应用程序:它专为一系列应用程序而设计,例如代码生成、代码完成、调试,甚至讨论代码,以满足软件开发生命周期中的不同需求。
性能:通过在广泛的数据集上训练的模型(70B 模型最多 1 万亿个令牌),Code Llama 可以提供更准确且与上下文相关的代码建议。Code Llama - Instruct 70B 模型在 HumanEval 测试中甚至获得了 67.8 分,高于 GPT 4 (67.0)。
Code Llama 的挑战:
硬件要求:较大的模型(34B 和 70B)可能需要大量计算资源才能获得最佳性能,这可能会限制硬件有限的个人或组织的访问。
潜在的错位:虽然它已经过微调以提高安全性并符合人类意图,但如果监督不当,总是存在生成不适当或恶意代码的风险。
不适用于一般的自然语言任务:Code Llama 针对编码任务进行了优化,不建议用于更广泛的自然语言处理应用程序。请注意,只有 Code Llama Instruct 经过专门微调,以更好地响应自然语言提示。
为什么我应该选择开源模型而不是商业模型?
这篇博文中列出的所有语言模型都是开源的,所以我相信这是第一个要回答的问题。事实上,开源模式和商业模式之间的选择往往取决于特定的需求和考虑,但前者在以下几个方面可能是更好的选择:
高可控性:开源模型提供高度的控制,因为用户可以根据需要访问和微调模型。这允许定制和适应特定任务或要求,而这在商业模式中可能无法实现。
数据安全:开源模型可以在本地运行,也可以在私有云基础设施中运行,使用户能够更好地控制数据安全。对于商业模式,可能会担心数据隐私,因为数据通常需要发送到提供商的服务器进行处理。
成本效益:利用开源模型可能更具成本效益,尤其是在考虑商业产品所需的 API 调用或令牌的成本时。开源模型可以在没有这些经常性成本的情况下部署,尽管可能需要在基础设施和维护方面进行投资。
社区和协作:开源模型受益于社区的集体专业知识,从而在协作开发推动下实现快速改进、错误修复和新功能。
无供应商锁定:依靠开源模型消除了对特定供应商路线图、定价变化或服务可用性的依赖。
专用LLMs模型与通用模型相比如何?
像 Code Llama 这样的专业LLMs公司在其专业领域提供集中的绩效提升。它们旨在在特定任务中表现出色,为这些特定应用程序提供更准确、更相关和更有用的输出。
相比之下,像 Llama 3 这样的通用模型是为了处理各种任务而构建的。虽然它们可能与专用模型的任务特定精度不匹配,但它们广泛的知识库和适应性使它们成为各种应用的有用工具。
专业和通用之间的选择LLMs取决于任务的具体要求。对于精度更重要的高风险或利基任务,专用模型更可取,而通用模型则提供更好的灵活性和广泛的实用性。
LLMs大规模部署时有哪些道德考虑因素?
道德部署LLMs需要仔细检查偏见、透明度、问责制和滥用的可能性等问题。确保LLMs其训练数据中不存在的现有偏见是一项重大挑战,需要持续保持警惕并改进训练方法。关于如何LLMs做出决策以及他们接受培训的数据的透明度对于建立信任和问责制至关重要,尤其是在高风险应用程序中。
LLMs在生产环境中部署时应考虑什么?
在生产环境中部署LLMs可能是一个微妙的过程。以下是一些需要考虑的策略:
选择正确的模型大小:平衡模型大小与应用程序的延迟和吞吐量要求至关重要。较小的模型可以提供更快的响应并降低计算成本,而较大的模型可以提供更准确和细致的输出。
基础结构注意事项:确保基础结构可以处理计算负载。使用支持 GPU 的云服务或使用量化和修剪技术优化模型有助于管理资源需求。对于没有基础架构专业知识的团队来说,具有自动缩放功能的无服务器平台可能是一个不错的选择。
规划可伸缩性:部署策略应允许根据需要纵向扩展或缩减。使用 Docker 等技术进行容器化和 Kubernetes 编排可以支持可扩展的部署。
构建强大的日志记录和可观测性:实施全面的日志记录和可观测性工具将有助于监控系统的运行状况,并在出现问题时快速诊断问题。
使用 API 实现模块化:API 可以抽象化模型托管、扩展和管理的复杂性。它们还可以促进与现有系统的集成,并允许更轻松的更新和维护。
考虑模型服务框架:BentoML、TensorFlow Serving、TorchServe 或 ONNX Runtime 等框架可以简化部署、提供版本控制并处理请求批处理以提高效率。
最后的思考
当我们在不断扩大的大型语言模型领域中航行时,很明显,它们的潜力才刚刚开始被挖掘。这一领域的快速创新预示着人工智能可以为我们的工作和创造性努力做出更深远的贡献。
展望未来,我认为继续在开源社区中推广 AI 模型、推动造福所有人的进步并确保负责任地使用这些强大工具至关重要。当我们这样做时,希望我们能找到适当的平衡点,在降低风险的同时最大限度地LLMs为社会带来利益。
到顶部