暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

手把手教程 | 如何将微软认知服务部署到本地数据中心

Azure云科技 2024-01-24
330


Azure 认知服务是基于云的人工智能(AI)服务,可帮助开发人员在不具备直接的 AI 或数据科学技能、知识的情况下将认知智能内置于应用程序中。由于合规等要求,某些企业不得不选择本地部署。此篇文章将会向您介绍如何实现 Azure OCR 容器的离线部署。



#1

认知服务介绍

Azure 认知服务采用常用开发语言,通过 REST API 和客户端库 SDK 使用。借助 Azure 认知服务,开发人员可以通过能够看、听、说和分析的认知解决方案,轻松将认知功能添加到他们的应用程序中。

认知服务可分为四大部分:影像(视觉)、语音、语言、决策。


视觉 API


视觉 API 主要分为如下三大类:

计算机视觉:用于处理图像并返回信息的高级认知算法。

自定义视觉:用于生成、部署和改进您自己的图像分类器。图像分类器是一种 AI 服务,它可以根据图像的视觉特征为图像应用标签。

人脸识别:高级人脸算法,实现人脸属性检测和识别。

视觉 API 的计算机视觉及空间分析功能支持容器化部署。


语音 API


语音服务包括各种功能,如语音到文本、文本到语音以及语音翻译等。

语音服务的语音文本互转和语言检测功能支持容器化部署。


语言 API


语言 API 主要包含如下四类功能:

语言服务:即自然语言处理(NLP)功能。主要用来理解和分析文本。

翻译:近乎实时地提供文本翻译功能。

语言理解:语言理解(LUIS)是一种基于云的对话式 AI 服务,可将自定义机器学习智能应用于用户的对话或自然语言文本,以便预测整体含义并提炼出相关信息。

QnA Maker: 从半结构化内容生成问答服务。

语言 API 的 LUIS、关键词提取、语言检测、情绪分析、临床文本医疗信息提取和翻译功能支持容器化部署。


决策 API


决策 API 主要包含如下内容:

 异常检测器:监视并检测时序数据中的异常。

 内容审查器:监视危险,非法的内容。

 个性化体验创建服务:它能根据用户的行为历史,对用户的行为进行评估和预测,进行可以向用户推送更加合适的内容。

决策 API 的异常数据检测功能支持容器化部署。



#2

容器化安装步骤

申请许可


首先,需要到如下网址获取运行许可:

https://customervoice.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7en2Ais5pxKtso_Pz4b1_xURjBQUkk3MVdQN0RZNzFLS0FNRVU0UlFEQyQlQCN0PWcu

表单填写完成后,10 个工作日以内,将会收到审批结果。


获取容器运行所需的信息


运行容器化的认知服务,需要如下信息:

 服务端点 URI



API 密钥




配置运行环境


首先,需要检查机器是否支持高级向量扩展功能:

    grep -q avx2 proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

    机器推荐配置为 8 核心,16GB 内存。

    然后需要安装 Docker。Docker 安装方法请参见:

    https://docs.docker.com/engine/install/centos/


    下载并运行镜像


    这里以 OCR 镜像为例:


    容器

    容器目录/ 仓库/ 镜像名

    标签

    Read 3.2 GA

    mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30

    latest, 3.2, 3.2-model-2022-04-30


    然后可以用如下命令下下载镜像(此处使用的版本为 2022-4-30)

      docker pull mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30

      最后,用如下命令运行镜像:

        docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
        mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
        Eula=accept \
        Billing={ENDPOINT_URI} \
        ApiKey={API_KEY}



        #3

        离线安装

        如果环境对网络访问有限制,就需要多做一些工作以配置容器服务。要做的工作主要有:

        配置一台可上网的机器用作下载所需软件包和容器镜像;

        复制软件包和容器镜像到服务器上完成安装。

        下面将针对运行环境和镜像的离线部署进行讨论。


        运行环境离线部署


        以 CentOS 为例,需要在可上网机器上使用如下命令准备 docker 软件包:

        1.使用如命令下载软件包及其依赖项:repotrack docker-ce -p ./docker-ce/

        2.对下载后的软件包进行压缩:tar czvf docker-ce.tar.gz ./docker-ce/

        3.然后请复制压缩包到服务器。

        在生产服务器上,运行如下命令安装 docker:

        1.解压:tar czvf docker-ce.tar.gz ./docker-ce/

        2.安装:yum install -y --cacheonly --disablerepo=* ~/docker-ce/*.rpm


        容器镜像离线部署


        在可上网的机器上,按照前面的步骤安装 docker,然后下载镜像,之后运行如下命令把镜像保存为本地文件:

          docker save -o ocr.tar mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30

          把文件复制到服务器上,然后运行如下命令加载镜像:

            docker load -i ocr.tar



            #4

            其他建议

            为了保证服务在生产环境连续运行,建议配置 docker 为服务方式运行,并且把容器镜像也配置为服务方式。

            Dokcer 以服务方式运行

              systemctl enable docker
              systemctl start docker

              容器镜像以服务方式运行

                sudo docker run -d --name ocrreader --restart always -p 80:5000 --memory 16g --cpus 8 \




                --env Eula=accept \


                --env Billing=https://ocrread-m-*.cognitiveservices.azure.cn/ \


                --env ApiKey=* \


                mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30



                #5

                参考资料

                [1] 创建要重复使用的容器

                https://learn.microsoft.com/zh-cn/azure/cognitive-services/containers/container-reuse-recipe

                [2] Install Computer Vision 3.2 GA Read OCR container

                https://learn.microsoft.com/en-us/azure/cognitive-services/computer-vision/computer-vision-how-to-install-containers

                [3] Install Docker Engine on CentOS

                https://docs.docker.com/engine/install/centos/

                [4] How to download rpm package and all dependencies (RHEL CentOS 7)

                https://www.golinuxcloud.com/download-rpm-package-and-all-dependencies-centos/

                [5] docker image save

                https://docs.docker.com/engine/reference/commandline/image_save/


                本文作者:杜红俊



                微软(中国)云解决方案架构师

                具有 20 年左右 IT 行业从业经验,主要负责云系统方案设计、交付与调优。



                文章转载自Azure云科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论