魔搭社区大模型一键部署到阿里云边缘云(ENS)

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 随着大模型技术的快速发展,业界的关注点正逐步从模型训练往模型推理 转变。这一转变不仅反映了大模型在实际业务中的广泛应用需求,也体现了技术优化和工程化落地的趋势。

00.前言

随着大模型技术的快速发展,业界的关注点正逐步从模型训练往模型推理 转变。这一转变不仅反映了大模型在实际业务中的广泛应用需求,也体现了技术优化和工程化落地的趋势。魔搭社区(ModelScope)作为开源大模型的聚集地,结合阿里云边缘云ENS,提供了一种高效、便捷的部署方式。通过按需付费和弹性伸缩,开发者可以快速部署和使用大模型,享受云计算的便利。本文介绍了魔搭社区与阿里云边缘云ENS的结合使用体验,包括部署流程、环境配置、效果验证等内容。

 

魔搭社区(ModelScope)是中国规模和影响力最大的开源模型社区 。致力于构建模型即服务(MaaS)生态,提供从模型探索、体验、训练、推理到部署的一站式服务。该平台汇聚了超过5万个AI模型,涵盖自然语言处理、计算机视觉、语音、多模态、科学计算等领域,服务超过1400万用户。

 

阿里云边缘云ENS是由大规模地域分散的边缘节点相互协同组成的一朵可远程管控,安全可信,标准易用的分布式云。以广覆盖为核心定位,为客户提供低时延、本地化、小型化三大核心价值。全球拥有超过3200个边缘节点,中国内地省份与运营商100%覆盖,海外覆盖70+重点国家和地区。

01.部署入口

进入魔搭社区(https://www.modelscope.cn/my/overview) - 模型服务 - 部署服务(SwingDeploy) - 免费部署到魔搭推理API - 新建部署

image.gif 编辑

02.模型选择和部署

模型选择

社区提供了热门模型的优先推荐列表,也支持通过搜索功能为您查找特定模型。下面我们以DeepSeek-R1-Distill-Qwen-14B-GGUF为例进行介绍:

image.gif 编辑

服务部署配置

基础配置

针对该模型,我们选择Ollama作为推理框架,并在免费部署资源中选用边缘节点服务(ENS)进行CPU部署。对于其他模型,您可以根据需求灵活选择CPU或GPU部署。

image.gif 编辑

单账号配额:支持10个免费CPU服务实例、1个GPU服务实例。

当资源不够时,服务创建会报错,并且服务状态为资源不足。

当前免费算力供应紧张,正在安排扩容,请保持关注。

 

高级配置

  1. 支持在列表中更换模型文件,以选定的量化版本。
  2. SwingDeploy提供默认的Modelfile配置文件,同时也支持用户自定义编辑。
  3. 如有需要,可自定义配置环境变量。

image.gif 编辑

完成上述操作后,点击右下角“一键部署”按钮,即可开始部署服务。

模型部署需要一定耗时,包括模型下载、制作、资源生产和部署,请您耐心等待。可以在SwingDeploy控制台确认服务状态。

image.gif 编辑

03.效果验证

在部署任务列表中,点击具体任务操作列下的“详情”按钮,即可查看任务详情。详情页展示服务实例的创建时间、更新时间、实例类型、模型文件、推理框架、部署资源及参数等信息,并提供一份示例代码,支持通过OpenAPI SDK进行调用。

 

以下代码基于实例代码改造,实现了一个简单终端问答Bot,用于测试模型效果。优化了终端的输入输出交互,您可按魔搭-服务详情的配置替换服务地址、api_key、模型地址。

from openai import OpenAI
import sys
from prompt_toolkit import PromptSession
from prompt_toolkit.styles import Style
import time
import tiktoken
import shutil
# 初始化 OpenAI 客户端,base_url,api_key,model请按实际情况填写。
client = OpenAI(
    base_url=<填写魔搭侧的服务地址>,
    api_key=<填写魔搭侧的服务api_key>
)
model = <填写模型路径,如unsloth/DeepSeek-R1-Distill-Qwen-14B-GGUF>
def num_tokens_from_string(string: str) -> int:
    """计算文本中的 tokens 数量"""
    encoding = tiktoken.get_encoding("cl100k_base")
    num_tokens = len(encoding.encode(string))
    return num_tokens
def get_terminal_size():
    """获取终端大小"""
    return shutil.get_terminal_size()
def clear_current_line():
    """清除当前行"""
    terminal_width = get_terminal_size().columns
    print('\r' + ' ' * terminal_width + '\r', end='', flush=True)
def chat_with_model():
    # 创建 prompt session 和自定义样式
    session = PromptSession()
    style = Style.from_dict({
        'prompt': '#00aa00 bold',
    })
    messages = [
        {
            'role': 'system',
            'content': '你是一个有帮助的助手。'
        }
    ]
    print("欢迎使用AI助手!输入'退出'或'quit'可以结束对话。")
    while True:
        try:
            # 使用 prompt_toolkit 处理输入
            user_input = session.prompt('\n你: ', style=style)
            if user_input.lower() in ['退出', 'quit']:
                print("再见!")
                break
            messages.append({
                'role': 'user',
                'content': user_input
            })
            print("\nAI助手: ", end='', flush=True)
            try:
                start_time = time.time()
                response = client.chat.completions.create(
                    model=model,
                    messages=messages,
                    stream=True
                )
                full_response = ""
                for chunk in response:
                    if chunk.choices[0].delta.content:
                        content = chunk.choices[0].delta.content
                        print(content, end='', flush=True)
                        full_response += content
                end_time = time.time()
                elapsed_time = end_time - start_time
                # 计算 tokens
                response_tokens = num_tokens_from_string(full_response)
                tokens_per_second = response_tokens / elapsed_time
                # 确保统计信息显示在新行,并在显示后额外添加换行
                print("\n")  # 先确保有一个空行
                stats = f"[统计] 响应tokens: {response_tokens}, 用时: {elapsed_time:.2f}秒, 速率: {tokens_per_second:.2f} tokens/s"
                print(stats)
                print()  # 添加额外的换行确保滚动
                sys.stdout.flush()  # 强制刷新输出缓冲区
                messages.append({
                    'role': 'assistant',
                    'content': full_response
                })
            except Exception as api_error:
                print(f"\n请求API时发生错误: {str(api_error)}")
                print()  # 额外的换行
                continue
        except KeyboardInterrupt:
            print("\n\n检测到中断,正在退出...")
            print()  # 额外的换行
            break
        except Exception as e:
            print(f"\n发生错误: {str(e)}")
            print()  # 额外的换行
            continue
if __name__ == "__main__":
    try:
        chat_with_model()
    except Exception as e:
        print(f"程序发生错误: {str(e)}")
        print()  # 额外的换行
        sys.exit(1)

image.gif

image.gif 编辑

0b2eu4asgaabpuaboeao3vufdj6deotqciya.f10002.mp4

04.结语

通过本文的介绍,我们展示了如何利用魔搭社区(ModelScope)与阿里云边缘云ENS相结合,快速部署和验证大模型的实际效果。未来,随着大模型技术的不断演进和应用场景的持续拓展,我们相信“模型即服务”(MaaS)的模式将为更多企业和开发者带来创新机遇。

希望本文能为您提供有价值的参考,也期待在实际项目中探索出更多可能性!

 

目录
相关文章
|
2月前
|
存储 运维 数据挖掘
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
在智能驾驶技术快速发展中,数据成为驱动算法进步的核心。某新能源汽车领军企业基于阿里云Milvus向量数据库构建智能驾驶数据挖掘平台,利用其高性能、可扩展的相似性检索服务,解决了大规模向量数据检索瓶颈问题,显著降低20%以上成本,缩短模型迭代周期,实现从数据采集到场景挖掘的智能化闭环,加速智能驾驶落地应用。
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
|
2月前
|
人工智能 运维 Serverless
0 代码,一键部署 Qwen3
依托于阿里云函数计算 FC 算力,Serverless + AI 开发平台 FunctionAI 现已提供模型服务、应用模版两种部署方式辅助您部署 Qwen3 系列模型。完成模型部署后,您即可与模型进行对话体验;或以 API 形式进行调用,接入 AI 应用中,欢迎您立即体验。
|
3月前
|
人工智能 并行计算 持续交付
如何使用龙蜥衍生版KOS,2步实现大模型训练环境部署
大幅降低了用户开发和应用大模型的技术门槛。
|
3月前
|
人工智能 弹性计算 自然语言处理
从0到1部署大模型,计算巢模型市场让小白秒变专家
阿里云计算巢模型市场依托阿里云弹性计算资源,支持私有化部署,集成通义千问、通义万象、Stable Diffusion等领先AI模型,覆盖大语言模型、文生图、多模态、文生视频等场景。模型部署在用户云账号下,30分钟极速上线,保障数据安全与权限自主控制,适用于企业级私有部署及快速原型验证场景。
|
3月前
|
数据采集 机器学习/深度学习 搜索推荐
利用通义大模型构建个性化推荐系统——从数据预处理到实时API部署
本文详细介绍了基于通义大模型构建个性化推荐系统的全流程,涵盖数据预处理、模型微调、实时部署及效果优化。通过采用Qwen-72B结合LoRA技术,实现电商场景下CTR提升58%,GMV增长12.7%。文章分析了特征工程、多任务学习和性能调优的关键步骤,并探讨内存优化与蒸馏实践。最后总结了大模型在推荐系统中的适用场景与局限性,提出未来向MoE架构和因果推断方向演进的建议。
506 10
|
3月前
|
存储 人工智能 云计算
挑战杯专属支持资源|阿里云-AI大模型算力及实验资源丨云工开物
阿里云发起的“云工开物”高校支持计划,助力AI时代人才培养与科研创新。为“挑战杯”参赛选手提供专属算力资源、AI模型平台及学习训练资源,包括300元免费算力券、百炼大模型服务、PAI-ArtLab设计平台等,帮助学生快速掌握AI技能并构建优秀作品,推动产学研融合发展。访问链接领取资源:https://university.aliyun.com/action/tiaozhanbei。
|
3月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
384 0
|
2月前
|
人工智能 分布式计算 DataWorks
多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
阿里云ODPS技术栈通过MaxCompute、Object Table与MaxFrame等核心组件,实现了多模态数据的高效处理与智能分析。该架构支持结构化与非结构化数据的统一管理,并深度融合AI能力,显著降低了分布式计算门槛,推动企业数字化转型。未来,其在智慧城市、数字医疗、智能制造等领域具有广泛应用前景。
269 6
多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
|
3月前
|
缓存 自然语言处理 监控
基于通义大模型的智能客服系统构建实战:从模型微调到API部署
本文详细解析了基于通义大模型的智能客服系统构建全流程,涵盖数据准备、模型微调、性能优化及API部署等关键环节。通过实战案例与代码演示,展示了如何针对客服场景优化训练数据、高效微调大模型、解决部署中的延迟与并发问题,以及构建完整的API服务与监控体系。文章还探讨了性能优化进阶技术,如模型量化压缩和缓存策略,并提供了安全与合规实践建议。最终总结显示,微调后模型意图识别准确率提升14.3%,QPS从12.3提升至86.7,延迟降低74%。
1003 14

热门文章

最新文章