专栏首页新智元机器学习算法部署平台Cortex更新,支持TensorFlow、Pytorch等主流框架

机器学习算法部署平台Cortex更新,支持TensorFlow、Pytorch等主流框架


目前,我们利用机器学习算法来预测结果,最终目的还是为了生产服务。由于生产环境和要求复杂多样,将机器学习模型部署至生产环境,往往需要特定的平台工具。Cortex就是这类平台工具中的一种。

近日,Cortex发布了版本更新,提供了大量新特性,提升了使用体验,能够更方便快捷地将机器学习模型预测作为网络服务部署到生产流程中。

一起来看看本次更新的内容吧。

主要功能和特性

自动扩展:Cortex能够自动扩展API,已处理生产环境下的工作负载。

多框架支持:Cortex广泛支持TensorFlow,Keras, PyTorch, Scikit-learn, XGBoost的多个机器学习框架。

CPU/GPU支持:Cortex可在CPU或GPU基础设施上运行推理任务。

滚动更新:直接将更新应用在API上,无需花费专门的时间下载。

日志传输:Cortex可将运行日志从部署模型传输到用户的CLI上。

预测监测:可检测网络量度,并追踪预测结果。

最小化的声明式配置:部署配置仅由一个cortex.yaml文件定义。

下面举例说明如何利用Cortex将OpenAI的GPT-2模型作为AWS的服务进行部署。需要注意的是,开始之前需要先在AWS账号中安装Cortex。

1、部署配置

定义部署和API资源。“部署”是指一起部署的一组指定的API资源。API可以让模型作为网络服务使用,提供实时的预测结果。下面的设置将从S3 bucket下载示例模型。生成模型的代码下载地址:

https://colab.research.google.com/github/cortexlabs/cortex/blob/0.9/examples/text-generator/gpt-2.ipynb

# cortex.yaml

- kind: deployment
  name: text

- kind: api
  name: generator
  model: s3://cortex-examples/text-generator/gpt-2/124M
  request_handler: handler.py

2、添加请求处理

该模型需要编码数据进行推理,但是API应该接受自然语言的字符串作为输入,还应该对推理输出进行解码。这可以使用pre_inference和post_inference函数在请求处理程序文件中实现:

# handler.py

from encoder import get_encoder
encoder = get_encoder()


def pre_inference(sample, metadata):
    context = encoder.encode(sample["text"])
    return {"context": [context]}


def post_inference(prediction, metadata):
    response = prediction["sample"]
    return encoder.decode(response)

3、部署到AWS

部署到AWS和从CLI上运行cortex deploy一样简单,后者使用cortex.yaml文件中的声明式设置,并在集群上进行创建操作。Cortex会将模型容器化,令模型可以使用TensorFlow服务,使用负载平衡器公开端点,并在Kubernetes上协调工作负载。

$ cortex deploy

deployment started

可以使用跟踪部署状态。以下输出表明请求了该API的一个副本,并且可用于预测。如果负载增加,Cortex将自动启动更多副本,而如果有未使用的空闲容量,则会自动关闭副本。

$ cortex get generator --watch

status   up-to-date   available   requested   last update   avg latency
live     1            1           1           8s            123ms

url: http://***.amazonaws.com/text/generator

4、提供实时预测

获取端点后,就可以发送请求了。

$ curl http://***.amazonaws.com/text/generator \
    -X POST -H "Content-Type: application/json" \
    -d '{"text": "machine learning"}'

Machine learning, with more than one thousand researchers around the world today, are looking to create computer-driven machine learning algorithms that can also be applied to human and social problems, such as education, health care, employment, medicine, politics, or the environment...

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【深度】TensorFlow or TensorSlow,谷歌基准测试为何不给力?(附Google内部员工测试代码下载)

    11月9日Google发布了第二代深度学习引擎TensorFlow,引起业内广泛关注。发布后业内人士热议的一个话题是:这个引擎能否成为Google所说的平台级产...

    新智元
  • 【干货】深度人脸识别的 Caffe 实现(附模型开源地址及论文下载)

    【新智元导读】本论文对人脸识别和验证任务提出一种新的损失函数,即中心损失。中心损失和softmax损失联合监督学习的CNN,其对深层学习特征的人脸识别能力大大提...

    新智元
  • TensorFlow开源一周年,已成Github最受欢迎机器学习项目(新智元报道盘点)

    【新智元导读】11月10日,是谷歌大脑团队开源TensorFlow一周年的纪念日。在过去的一年中,TensorFlow发展迅速,已经成为Github上最受欢迎的...

    新智元
  • 荣耀Play吓人技术深度剖析

    神无月
  • 荣耀Play吓人技术深度剖析

    随着荣耀Play“很吓人的 技术”——GPU Turbo浮出水面,不少黑粉就坐不住了,什么能量守恒定律啊,不可能在提升功效60%的同时省电30%。与此同时,一个...

    神无月
  • 观点 | 别再使用pip安装TensorFlow了!用conda吧~

    conda 是一个开源包和环境管理系统,能够跨平台运行,在 Mac、Windows 和 Linux 上都可以运行。如果你还没用过 conda,我推荐你立刻开始使...

    机器之心
  • 腾讯安全专家支招:远程办公期间,企业如何做好网络安全防护?

    新冠肺炎疫情期间,大量企业依托云实现了远程办公、信息发布及各类研发业务的快速上线和迭代。在享受云带来的业务弹性高效交付的同时,企业面临的安全风险也如影随形,云服...

    腾讯安全
  • 撰写合格的REST API

    两周前因为公司一次裁人,好几个人的活都被按在了我头上,这其中的一大部分是一系列REST API,撰写者号称基本完成,我测试了一下,发现尽管从功能的角度来说,这些...

    tyrchen
  • 到底什么是VR、AR和MR? | 拔刺

    镁客网
  • 『TensorFlow2.0正式版』TF2.0+Keras速成教程·零:开篇简介与环境准备

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    小宋是呢

扫码关注云+社区

领取腾讯云代金券