Serverless AI 앱 급구축: 당신을 위한 시 쓰기
7052 단어 serverless인공지능
전언
먼저 본문에 나타난 몇 가지 비교적 중요한 개념을 소개한다.
함수 계산(Function Compute):
함수 계산는 이벤트 구동 서비스로 함수 계산을 통해 사용자는 서버 등 운행 상황을 관리할 필요가 없고 코드를 작성하여 업로드하기만 하면 된다.함수 계산은 계산 자원을 준비하고 사용자 코드를 탄력적으로 신축하는 방식으로 운행하며 사용자는 실제 코드 운행에 소모된 자원에 따라 비용을 지불해야 한다.함수 계산 추가 정보
참고 자료 .
Fun: Fun은 Serverless 응용 배치를 지원하는 도구로 함수 계산, API 인터페이스, 로그 서비스 등 자원을 간편하게 관리할 수 있습니다.이것은 자원 설정 파일 (template.yml) 을 통해 개발, 구축, 배치 작업을 돕습니다.Fun에 대한 추가 문서
참고 자료 .
비고: 본고에서 소개한 기교는 Fun버전이 3.2.0보다 커야 한다.
도구에 의존하다
본 프로젝트는 MacOS에서 개발된 것으로 관련된 도구는 플랫폼과 무관하며 리눅스와 Windows 데스크톱 시스템에도 똑같이 적용될 것입니다.이 예를 시작하기 전에 다음 도구가 올바르게 설치되어 최신 버전으로 업데이트되고 올바르게 설정되었는지 확인하십시오.
Fun 및 Fcli 도구는 로컬 환경을 시뮬레이션하기 위해 docker에 의존합니다.MacOS 사용자는 homebrew를 사용하여 설치할 수 있습니다.
brew cask install docker
brew tap vangie/formula
brew install fun
brew install fcli
Windows 및 Linux 사용자 설치는 다음을 참조하십시오.
설치가 끝난 후에 먼저
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:
, 。
, 。
, 。
, 。
, 。
, 。
, 。
이로써 고시 창작 프로그램을 함수 계산에 성공적으로 배치했다.
추가 참조
“
알리바바 클라우드 오리지널 마이크로 서비스, Serverless, 용기, 서비스 메시 등 기술 분야에 주목하고 클라우드 네이티브 유행 기술 추세, 클라우드 네이티브 대규모 착지 실천에 초점을 맞추어 클라우드 네이티브 개발자를 가장 잘 아는 기술권을 만든다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Alexa 기술로 Go전회( ), Go언어로 Alexa 스킬로 만들려고 하고 시작했지만, 도중에서 탈선해 Alexa-hosted 스킬로 흘러 버렸습니다. 다시 Go 언어로. 마지막으로 만든 녀석의 백엔드 부분은 버리는 가정입니다. 그래서...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.