在过去一年中,生成式人工智能领域迎来了多种令人激动的全新用例和应用程序,例如聊天机器人、代码生成、写作辅助、图像和视频生成、文档处理协作等。全球各地的企业,无论规模大小,都在使用生成式人工智能为客户提供更新、更好的产品和体验。
企业也在从使用较为简单的聊天机器人和AI助手发展为使用人工智能代理,人工智能代理可以理解并完成封装在用户提示词中的复杂任务,而无需任何干预。人工智能代理将用户提示词分解为一系列子任务,通过规划子任务,连接、访问并使用适当的业务数据库/数据存储、网络搜索或电子邮件等插件,并在任务完成时自检错误和幻觉问题,然后在需要时重试以处理已识别的错误。
Core42是一家G42公司,也是阿联酋主权云、人工智能基础设施和服务的主供应商;高通技术公司是高性能、低功耗人工智能解决方案的全球领导者,于2024年7月推出了Compass 2.0,这是由高通Cloud AI加速器赋能的下一代企业生成式人工智能平台。
Compass 2.3现已发布,并在Core42公司位于阿联酋的数据中心中托管了一套精心组织的开源生成式人工智能大语言模型和图像生成模型。开源模型列表包括LLaMA 3.1、Stable Diffusion XL(SDXL)和embedding模型。客户可以使用这些模型构建广泛的生成式人工智能应用程序和代理,并在价格方面具有竞争力。
高通科技公司提供支持的Compass功能概述
由高通科技公司提供支持的Compass 2.3通过其应用程序接口在阿联酋提供以下精选模型列表:
- LLaMA 3.1和3.0、70B和8B instruct模型:LLaMA 3模型是Meta迄今为止最先进和最强大的模型。LLaMA 3.1 70B模型在大量的行业基准测试中展示了最先进的性能,并且由于其对话和工具调用功能而被推荐给代理使用,同时具有成本效益。
- Stable-diffusion XL Turbo v1.0(SDXL-Turbo v1.0):SDXL-Turbo是一种快速的文生图模型,可以通过文本提示词生成逼真的图像。
- Mixtral 8x7B和Mistral 7B:Mixtral 8x7B是一种具有成本效益的混合专家(MoE)模型。
- BGE-large:BGE-large是一种流行的embedding模型。
客户和用户可以构建广泛的生成式人工智能用例、应用程序和代理,从具有RAG支持的简单聊天机器人,到为零售终端客户创建由文本和图像组成的个性化营销电子邮件的完整人工智能代理,并将相同的电子邮件发送给预期收件人。
上述所有模型都部署在Core42公司位于阿联酋的数据中心中,并在专用的高通Cloud AI 080 Ultra上运行。
高通Cloud AI 080推理加速器集成了可扩展的第六代多核可编程架构,并支持在广泛的生成式人工智能、大语言模型、图像生成、自然语言处理、计算机视觉和汽车模型(包括LLaMA、Mixtral、Stable-diffusion、JAIS、CodeGen等)上进行高性价比的高性能推理。
该加速器还支持多卡加速能力,可确保最多四个加速器能够起到一个大型加速器的作用,总性能超过2.5 INT8 PetaOps、888 FP16 TFlops、2.2 TB/s内存带宽、2.3 GB片上SRAM容量和512 GB卡上内存容量。
加速器的规格同样可以确保将16个加速器密集整合到一个2U推理服务器中,其总内存容量超过2TB,并且能够支持最大的开源模型。
高通Cloud AI 080软件栈和编译器支持所有流行和常见的生成式人工智能和大语言模型高性能算法以及软件技术,包括张量并行、管道并行、注意力机制、vLLM、连续批处理、flash attention、解码预测、MXFP6格式、AWQ量化和KV-缓存增强。
在LLaMA 3.0 8B等大语言模型上,与其他推理解决方案相比,高通Cloud AI 080在实时和离线用例的tokens/TCO$方面具有竞争力。
有关高通Cloud AI产品组合的更多信息, 请访问Cloud AI 100产品页面。
对于使用Compass AP的客户应用程序产生的推理调用,由Compass路由到管理加速器容量的高通Cloud AI 100推理服务平台上。推理服务平台是一个基于kubernetes的平台,通过高性能应用程序接口服务器支持多个Compass并发调用,并在每个模型等级支持内置的基于队列的自动扩展。推理服务平台支持请求——响应和流式模式,并具有内置的可观察性和遥测功能。该平台同样能够将租户/访问密钥隔离到一组特定的高通Cloud AI 080卡。
由高通科技公司提供支持的Compass可确保全面的数据隐私和安全。用户数据(包括提示词/输入和结果/输出)均未存储在平台中,并且不可供平台的任何其他用户或任何其他服务使用。推理服务平台不会修改或拦截模型产生的任何输出,也不会滥用过滤器或清空模型状态。高通Cloud AI 080加速器还支持模型加密功能,确保模型提供人能够对其模型进行加密,以防止未经授权的模型调用。高通Cloud AI 080加速器硬件还支持所有超大规模云的可靠性、可用性和安全特性,例如安全启动、安全固件、内存可靠性和认证等。
高通科技公司加速器所托管模型的Compass API调用被路由到管理加速器容量的高性能推理服务平台,并由其提供服务。
在Compass的后续版本中将添加其他开源模型支持,包括LLaMA 3.2模型等,以满足阿联酋企业和客户的需求。
从使用高通科技公司支持的Compass构建应用程序开始
客户可以通过compass.support@core42.ai邮箱联系Core42公司的Compass销售部门,以获得针对特定模型的Compass访问密钥(token速率受限),从而利用高通科技公司支持的Compass中提供的LLaMA或其他模型构建应用程序和代理。
在下文示例中,我们通过三个简单的步骤构建了一个简单的聊天应用程序,该应用程序使用通过Compass API提供的LLaMA3.1-70B模型。在这些步骤中,我们构建了一个简单的函数,该函数创建并启动对于LLaMA3.1-70B模型的调用,并对响应进行后处理。
聊天应用程序有一个如下图所示的用户界面,用户可以在应用程序底部的文本框中进行输入,然后单击“发送”按钮,以启动对模型的Compass API的调用。在下文显示的聊天示例中,用户输入为“When did GiTEX start?”。随后,来自模型的响应与用户输入一起显示在应用程序窗口中。
第1步:声明所需要的Compass API调用参数
需要提供的API调用参数包括:
(a) API_key
(b) 推理类型:聊天或embeddings
(c) 模型名称
(d) 内容:用户提示词
(e) 流模式:是否需要流式响应。
import argparse
import requests
parser=argparse.ArgumentParser()
parser.add_argument('api_key', type=str, help='Provide Compass API Key')
parser.add_argument('type_of_inference', type=str, help='chat|embeddings')
parser.add_argument('model_name', type=str, help='provide a model name')
parser.add_argument('content', type=str, help='ask a question to chat or create an embeddings')
parser.add_argument('stream', type=str ,help='choose whether you need a streaming response or not in chat')
args=parser.parse_args()
print(args)
第2步:定义解析Compass API调用参数的函数,创建并启动Compass API调用
使用用户提供的API调用参数创建并启动对适当端点的API调用。
def main(args):
# parses the API call argument to retrieve the call arguments
api_key=args.api_key
type=args.type_of_inference
model_name=args.model_name
content=args.content
stream=args.stream
if stream == 'False' or stream == 'false':
stream = False
else:
stream = True
# if the inference type is chat, then create and launch API call to the model and process the response
if type == "chat":
payload = {
"model": model_name,
"messages": [{
"role": "user",
"content": content
}],
"stream": stream
}
base_url = "https://api.core42.ai/v1/chat/completions"
headers = {
'Content-type': 'application/json',
'Accept': 'application/json',
'Cache-Control': 'no-cache',
'api-key': api_key
}
response = requests.post(base_url, json=payload, verify=False, headers=headers)
streamed_response = []
if stream:
for chunk in response.iter_lines():
streamed_response.append(chunk.decode('utf-8'))
print(streamed_response)
else:
print(response.text)
elif type == "embeddings":
# if the inference type is embeddings, then create and launch API call to the embedding model and process the response
payload ={
"input": content,
"model" : model_name
}
base_url = "https://api.core42.ai/v1/embeddings"
headers = {
'Content-type': 'application/json',
'Accept': 'application/json',
'Cache-Control': 'no-cache',
'api-key': api_key
}
response = requests.post(base_url, json=payload, verify=False, headers=headers)
print(response.text)
else:
print("Required type is not supported")
if __name__ == "__main__":
main(args)
第3步:在聊天应用程序中使用以上函数
在聊天应用程序中使用适当的参数重复调用上述函数,如下所述:
(a) API_key:通过Compass团队获得Compass API_key,以访问LLaMA-3.1 70B模型
(b) 推理类型:聊天
(c) 模型名称:LLaMA3-70b
(d) 内容:检索当前用户提示词并通过预览调用连接生成响应
(e) 流模式:流式响应
情况就是这样。仅用几行代码,我们就调用了LLaMA-3.1 70B模型,该模型由高通服务支持的Compass托管,并在聊天应用程序中使用了该功能。
后续步骤
了解更多有关Compass和Compass 2.0发布公告的内容。
从高通云开发人员教程和文档开始。
如要了解有关高通云产品性能、支持的型号列表和其他产品公告的更多信息,请参阅开发人员博客上的相关文章。
在所发布内容中表达的观点仅为原作者的个人观点,并不代表高通公司或其子公司(以下简称为“高通公司”)的观点。所提供的内容仅供参考之用,而并不意味着高通公司或任何其他方的赞同或表述。本网站同样可以提供非高通公司网站和资源的链接或参考。高通公司对于可能通过本网站引用、访问、或链接的任何非高通公司网站或第三方资源并没有做出任何类型的任何声明、保证、或其他承诺。
关于作者
易卜拉欣·波帕特
产品负责人
A.K. Roy
A·K·罗伊
产品管理总监