当前位置: 首页 > article >正文

在亚马逊云科技上一键自动部署Falcon3大语言模型

由TII(阿布扎比技术创新研究所)开发的全新的Falcon 3系列模型,已经在亚马逊云科技的模型自动化快速部署功能 - Amazon SageMaker JumpStart上可以使用了。在本文中小李哥就将带大家探训如何在Amazon SageMaker AI上高效部署Falcon3模型。

Falcon 3 系列模型概述

Falcon 3系列由阿布扎比技术创新研究所(TII)研发,它的出现标志着开源语言模型的重大进步。Falcon系列包含五种基础模型,参数规模从1B(10 亿)到10B(100 亿)不等,该模型专门提升了科学、数学和编程能力,帮助开发者满足日常场景的需求。目前该系列包括的类型有Falcon3-1B-Base、Falcon3-3B-Base、Falcon3-Mamba-7B-Base、Falcon3-7B-Base和Falcon3-10B-Base 以及他们Instruct指令微调优化输出的版本。

该系列模型在多个技术方向进行了创新性,例如高效的预训练技术、经过优化的推理能力,以及 知识蒸馏,使较小的模型具备更优性能。值得注意的是Falcon3-10B-Base模型在零样本(zero-shot)和少样本(few-shot)任务中,,目前拥有13B以下小模型最先进的性能。此外Falcon 3系列还提供了多种指令微调版本,如Instruct模型,并支持多种量化格式,使其能够有更加广泛的应用场景。像我们之前介绍的,目前SageMaker JumpStart提供以下基础版本和Instruct版本:

  • Falcon3-3B
  • Falcon3-7B
  • Falcon3-10B
  • Falcon3-1B-Instruct

使用 SageMaker JumpStart 开始部署

SageMaker JumpStart是亚马逊云科技平台上的机器学习训练、部署中心,可帮助加速各位开发者的开发效率。借助SageMaker JumpStart,开发者们可以评估、比较和选择最合适自己要求的预训练的基础模型,包括Falcon 3系列模型。这些模型可根据大家的需求和私有数据进行定制。在 SageMaker JumpStart中部署Falcon 3模型有两种方法,分别是:使用SageMaker JumpStart UI(可视化界面)和使用SageMaker Python SDK进行编程部署。接下来,我们将分别介绍这两种方法,帮助大家选择最适合的方式。

通过 SageMaker JumpStart UI 部署 Falcon 3

1. 我们可以按照以下步骤,通过JumpStart UI部署Falcon 3:

进入SageMaker JumpStart:在Amazon SageMaker统一控制台(Unified Studio)中,拉取Build菜单,选择JumpStart models。

或者在Amazon SageMaker Studio的导航栏中选择JumpStart。

2. 在模型主页中搜索Falcon3-10B-Base

3. 选择模型Falcon3-10B-Base,然后点击Deploy(部署)。

4. 选择合适的实例类型(Instance type):使用默认实例或选择适合我们的需求的其他实例类型。

5. 点击Deploy开始部署。

6. 部署完成后点击进入端点(endpoint) 页面,可以看到端点状态将显示为InService,此时即可调用模型进行推理。

通过SageMaker Python SDK 编程部署 Falcon 3

对于像自动化部署或集成至现有MLOps Pipeline的开发者,我们可使用SageMaker Python SDK - Boto3进行部署,我们运行以下代码部署模型:

from sagemaker.serve.builder.model_builder import ModelBuilder
from sagemaker.serve.builder.schema_builder import SchemaBuilder
from sagemaker.jumpstart.model import ModelAccessConfig
from sagemaker.session import Session
import logging

sagemaker_session = Session()

artifacts_bucket_name = sagemaker_session.default_bucket()
execution_role_arn = sagemaker_session.get_caller_identity_arn()


js_model_id = "huggingface-llm-falcon-3-10B-base"

gpu_instance_type = "ml.g5.12xlarge"  

response = "Hello, I'm a language model, and I'm here to help you with your English."

sample_input = {
    "inputs": "Hello, I'm a language model,",
    "parameters": {"max_new_tokens": 128, "top_p": 0.9, "temperature": 0.6},
}

sample_output = [{"generated_text": response}]

schema_builder = SchemaBuilder(sample_input, sample_output)

model_builder = ModelBuilder(
    model=js_model_id,
    schema_builder=schema_builder,
    sagemaker_session=sagemaker_session,
    role_arn=execution_role_arn,
    log_level=logging.ERROR
)

model= model_builder.build()

predictor = model.deploy(model_access_configs={js_model_id:ModelAccessConfig(accept_eula=True)}, accept_eula=True)

注意:如需设置部署后无调用状态下,让模型实例计算资源自动缩容至零以降低成本,我们需要使用serverless无服务器节点类型。

调用模型API进行推理生成响应,请使用以下的代码

predictor.predict(sample_input)

清理资源

部署完成后,为避免产生额外费用给大家造成无意义的花销,可使用以下代码清理模型及端点:

predictor.delete_model()
predictor.delete_endpoint()


http://www.kler.cn/a/543947.html

相关文章:

  • 团结引擎 OpenHarmony 平台全面支持 UAAL,实现引擎能力嵌入原生应用
  • Spring 项目接入 DeepSeek,分享两种超简单的方式!
  • 【Elasticsearch】分析器的构成
  • 每日一题——括号生成
  • 【C++】——精细化哈希表架构:理论与实践的综合分析
  • python-leetcode-单词搜索
  • 11.推荐系统的安全与隐私保护
  • 对gru的理解
  • 【C++八股】C++内存管理
  • 从360度全景照片到高质量3D场景:介绍SC-Omnigs 3D重建系统
  • redis持久化原理相关面试题剖析
  • 期权帮 | 股指期货交易:规则速览与解读!
  • SpringBoot速成(九)获取用户信息 P9-P10
  • git - 克隆带子模块的git工程的方法
  • windows蓝牙驱动开发-支持蓝牙事件通知
  • 为什么 ARCGIS PRO ArcGISIndexingServer.exe 使用大量计算机内存?
  • UGUI下UI元素的position和localPosition
  • 计算机网络和操作系统常见面试题目(带脑图,做了延伸以防面试官深入提问)
  • docker nginx 配置文件详解
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 10
  • MFC程序设计(十一)单文档架构
  • 从时间同步到智能调度:TSN时间敏感网络如何提升工厂安全性
  • 【Elasticsearch】Kibana Dev Tools中基础使用
  • AI前端开发:革新工作环境与团队协作
  • Java小白入门基础知识(一)
  • 基于Spring Boot的分布式网上售卖系统设计