Serverless AI 앱 급구축: 당신을 위한 시 쓰기

전언


먼저 본문에 나타난 몇 가지 비교적 중요한 개념을 소개한다.
함수 계산(Function Compute):
함수 계산는 이벤트 구동 서비스로 함수 계산을 통해 사용자는 서버 등 운행 상황을 관리할 필요가 없고 코드를 작성하여 업로드하기만 하면 된다.함수 계산은 계산 자원을 준비하고 사용자 코드를 탄력적으로 신축하는 방식으로 운행하며 사용자는 실제 코드 운행에 소모된 자원에 따라 비용을 지불해야 한다.함수 계산 추가 정보
참고 자료 .
Fun: Fun은 Serverless 응용 배치를 지원하는 도구로 함수 계산, API 인터페이스, 로그 서비스 등 자원을 간편하게 관리할 수 있습니다.이것은 자원 설정 파일 (template.yml) 을 통해 개발, 구축, 배치 작업을 돕습니다.Fun에 대한 추가 문서
참고 자료 .
비고: 본고에서 소개한 기교는 Fun버전이 3.2.0보다 커야 한다.

도구에 의존하다


본 프로젝트는 MacOS에서 개발된 것으로 관련된 도구는 플랫폼과 무관하며 리눅스와 Windows 데스크톱 시스템에도 똑같이 적용될 것입니다.이 예를 시작하기 전에 다음 도구가 올바르게 설치되어 최신 버전으로 업데이트되고 올바르게 설정되었는지 확인하십시오.
  • Docker
  • Fun
  • Fcli

  • Fun 및 Fcli 도구는 로컬 환경을 시뮬레이션하기 위해 docker에 의존합니다.MacOS 사용자는 homebrew를 사용하여 설치할 수 있습니다.
    brew cask install docker
    brew tap vangie/formula
    brew install fun
    brew install fcli

    Windows 및 Linux 사용자 설치는 다음을 참조하십시오.
  • https://github.com/aliyun/fun/blob/master/docs/usage/installation.md
  • https://github.com/aliyun/fcli/releases

  • 설치가 끝난 후에 먼저 fun config 설정을 초기화하는 것을 기억하세요.
    만약 당신이 이미 fun을 설치했다면, fun의 버전이 3.2.0 이상이어야 합니다.
    $ fun --version
    3.2.2

    배경.


    AI model serving은 함수 계산의 비교적 전형적인 응용 장면이다.데이터 과학자들이 모델을 훈련한 후에 종종 소프트웨어 엔지니어를 찾아 모델을 시스템이나 서비스로 만들어야 한다. 보통 이 과정을 모델 서버라고 부른다.함수 계산은 운위와 탄성 신축의 특성이 필요 없고 데이터 과학자들이 고가용 분포식 시스템에 대한 요구에 부합된다.본고는 Tensor Flow CharRNN 훈련의 자동 오언절구 고시 모형을 함수 계산에 배치한 예를 소개한다.
    기본적으로 모든FaaS 플랫폼은 플랫폼의 콜드 스타트를 줄이기 위해 코드 패키지 제한을 설정하고 함수 계산도 예외가 아니다.python TensorFlow는 라이브러리와 훈련에 의존하는 모델의 파일이 수백메가바이트이기 때문에 압축해도 함수 계산 50M 패키지 크기의 제한을 훨씬 초과한다.이런 초대형 부피의 파일에 대해 함수 계산 명령행Fun 도구는 원래 이런 큰 의존 배치(3.2.0버전 이상)를 지원하고 마법사의 제시에 따라 조작하면 된다.

    빠른 시작


    1. 포터리 프로젝트 클론

    git clone https://github.com/vangie/poetry.git

    2. 설치 의존성


    훈련 모형의 스크립트가 비교적 시간이 걸리기 때문에 훈련된 모형은 이미 모델 디렉터리에 미리 저장되었다.모델을 재훈련하려면 make train만 실행하면 됩니다.
    $ fun install
    using template: template.yml
    start installing function dependencies without docker
    
    building poetry/poetry
    Funfile exist, Fun will use container to build forcely
    Step 1/3 : FROM registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-python3.6:build-1.7.7
     ---> 373f5819463b
    Step 2/3 : WORKDIR /code
     ---> Using cache
     ---> f9f03330ddde
    Step 3/3 : RUN fun-install pip install tensorflow
     ---> Using cache
     ---> af9e756d07c7
    sha256:af9e756d07c77ac25548fa173997065c9ea8d92e98c760b1b12bab1f3f63b112
    Successfully built af9e756d07c7
    Successfully tagged fun-cache-1b39d414-0348-4823-b1ec-afb05e471666:latest
    copying function artifact to /Users/ellison/poetry
    copy from container /mnt/auto/. to localNasDir
    
    Install Success
    
    Tips for next step
    ======================
    * Invoke Event Function: fun local invoke
    * Invoke Http Function: fun local start
    * Build Http Function: fun build
    * Deploy Resources: fun deploy

    3. 로컬 실행 함수


    실행fun local invoke은 함수를 로컬에서 실행할 수 있으며 올바른 반환 내용은 다음과 같습니다.
    $ fun local invoke poetry
    Missing invokeName argument, Fun will use the first function poetry/poetry as invokeName
    
    skip pulling image aliyunfc/runtime-python3.6:1.7.7...
    FunctionCompute python3 runtime inited.
    FC Invoke Start RequestId: b125bd4b-0d23-447b-8d8c-df36808a458b
    .......(       )
          ,     。
         ,     。
         ,     。
         ,     。
         ,     。
         ,     。
         ,     。
         ,     。
    
    RequestId: 938334c4-5407-4a72-93e1-6d59e52774d8          Billed Duration: 14074 ms       Memory Size: 1998 MB    Max Memory Used: 226 MB

    4. 배포 함수

    fun deploy배치 함수를 통해nas에 의존합니다.
    fun deploy

    fun은 자동으로 의존 배치를 완성합니다.fun deploy가 패키지 의존이 플랫폼 제한(50M)을 초과한 것을 발견하면 설정 마법사에 들어가 사용자의 자동화 설정을 돕습니다.
    "Y"를 선택하면 다른 일을 할 필요가 없습니다. 배치가 완료될 때까지 기다리면 됩니다.

    5. 원격 함수 실행


    fun invoke를 통해 원격 함수를 호출할 수도 있습니다 (함수 계산 콘솔:
    $ fun invoke
    using template: template.yml
    
    Missing invokeName argument, Fun will use the first function poetry/poetry as invokeName
    
    ========= FC invoke Logs begin =========
          ...
    Restored from: /mnt/auto/model/poetry/model-10000
    FC Invoke End RequestId: c0d7947d-7c44-428e-a5a0-30e6da6d1d0f
    
    Duration: 18637.47 ms, Billed Duration: 18700 ms, Memory Size: 2048 MB, Max Memory Used: 201.10 MB
    ========= FC invoke Logs end =========
    
    FC Invoke Result:
         ,     。
         ,     。
         ,     。
         ,     。
         ,     。
         ,     。
         ,     。

    이로써 고시 창작 프로그램을 함수 계산에 성공적으로 배치했다.

    추가 참조

  • 21개 프로젝트 TensorFlow 기반 세부 학습
  • 함수 계산의 올바른 자세 개발-Fun 자동화 NAS 구성
  • 함수 계산의 올바른 자세 개발-Fun NAS를 사용하여 NAS 리소스 관리


  • 알리바바 클라우드 오리지널 마이크로 서비스, Serverless, 용기, 서비스 메시 등 기술 분야에 주목하고 클라우드 네이티브 유행 기술 추세, 클라우드 네이티브 대규모 착지 실천에 초점을 맞추어 클라우드 네이티브 개발자를 가장 잘 아는 기술권을 만든다.

    좋은 웹페이지 즐겨찾기