By Jawad
이 블로그에서는 단일 Alibaba Cloud ECS 인스턴스에 사전 학습된 여러 모델을 배포하는 방법을 설명할 것입니다. Hugging face와 Gradio에서 제공되는 사전 학습된 모델을 사용하여 모델과 상호 작용할 것입니다. 이 접근 방식은 프로토타이핑 및 개념 증명에 유용할 수 있는 ML 모델을 위한 로우코드 배포를 제공합니다. 데모를 위해 Natural Language Processing(NLP)와 컴퓨터 비전과 관련된 두 가지 배포 예제를 살펴보겠습니다. 계속 진행하기 전에 먼저 Gradio와 Hugging face에 대해 설명하겠습니다.
Gradio는 모든 머신러닝 모델에 대한 웹 기반 데모를 구축, 사용자 지정 및 공유하는 데 사용할 수 있는 Python 라이브러리입니다. 이를 통해 웹 브라우저를 사용하여 모델과 상호 작용할 수 있습니다.
Hugging Face는 Natural Language Processing(NLP) 및 컴퓨터 비전 작업을 위한 오픈 소스 도구와 라이브러리에 대한 액세스를 제공하는 AI 연구 조직입니다. 가장 인기 있는 작품 중 하나는 텍스트 분류, 언어 번역, 질문-답변, 텍스트 생성, 이미지 분류 등 다양한 애플리케이션을 위해 사전 학습된 모델을 제공하는 'Transformers' 라이브러리입니다.
Hugging face transformers와 Gradio를 함께 사용하면 개발자와 연구자부터 머신러닝에 대한 전문 지식이 없는 최종 사용자까지 더 많은 사람들이 AI 모델에 더 쉽게 접근하고 사용할 수 있습니다.
Hugging face에서 사용된 사전 학습된 모델은 다음과 같습니다.
이 두 가지 모델을 예로 들었다는 점을 언급하는 것이 적절합니다. 독자들은 이보다 덜 또는 더 유사한 방식으로 Hugging face의 다른 모델을 사용해 볼 수 있습니다.
배포를 위해 ECS 인스턴스를 사용하는 세부 사항을 단계별로 살펴보겠습니다.
1. Alibaba Cloud ECS 인스턴스 가동: 인스턴스의 사양은 ML 모델에 따라 다릅니다. 이 예제에서는 다음 사양을 사용하고 있습니다.
그림-1: ECS 구성
2. 설정 준비(1회 필요)
ECS 인스턴스가 실행되기 시작하면 인스턴스에 로그인합니다. 명령 프롬프트 사용:
apt install python3-venv -y
python3 -m venv ai
source ai/bin/activate
pip install transformers
pip install gradio
pip install torch
pip install sentencepiece
pip install sacremoses
3. 사전 학습된 모델을 사용하기 위한 Python 코드
a) NLP 모델: 터미널에서 nano nlp.py를 입력하여 python 파일 "nlp.py"를 생성합니다. 편집기가 열리면 다음 코드를 복사하여 붙여넣습니다.
from transformers import pipeline
import gradio as gr
pipe = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
demo = gr.Interface.from_pipeline(pipe)
demo.launch(server_name="0.0.0.0", server_port=8000)
그림-2는 나노 에디터 내부의 코드를 보여줍니다. Ctrl+x를 누르고 "Y"를 선택한 후 Enter 키를 눌러 파일을 저장합니다.
그림-2: 감성 분석용 코드
b) 이미지 분류 모델
nano classify.py`를 사용하여 다른 python 파일을 생성하고 그림 3과 같이 모델 유형, 이름, 제목, 포트 번호를 변경하여 코드를 수정합니다. 파일을 종료하고 저장합니다.
그림-3: 이미지 분류용 코드
4. 모델 실행
이 모델을 실행하려면 그림 4와 같이 Alibaba cloud ECS 인스턴스에서 두 개의 터미널을 열어야 합니다. python 가상 환경이 활성화되어 있는지 확인합니다. Alibaba Cloud ECS CLI에서 다음을 실행합니다.
그림-4: 두 개의 터미널을 사용하여 동일한 ECS 인스턴스에서 두 모델 모두 실행하기
5. 모델과 상호 작용
배포된 모델을 사용하려면 PC에서 브라우저를 열고 아래 그림-5 및 그림-6과 같이 포트 번호가 콜론(:)으로 구분된 ECS 인스턴스의 공용 IP 주소를 사용합니다.
ECS 공용 IP 주소를 사용하는 대신 도메인 네임을 사용하고 있습니다. 도메인 네임이 있는 경우 선택적으로 도메인 네임을 ECS 인스턴스의 공용 IP와 연결하여 사용할 수 있습니다.
두 번째 브라우저를 열고 컴퓨터 비전 모델과 상호 작용할 수 있도록 포트 번호(9000)를 변경합니다. 이미지를 업로드하고 분류 결과를 확인합니다.
다른 이미지를 시도하고 모델의 응답을 참조하십시오.
이 문서는 원래 영어로 작성되었습니다. 원본 문서는 여기를 참조하세요.
การปรับใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าบน Alibaba Cloud ECS โดยใช้ Transformers และ Gradio
Menyebarkan Model Pralatih di ECS Alibaba Cloud Menggunakan Transformers dan Gradio
84 posts | 3 followers
FollowRegional Content Hub - March 20, 2024
Regional Content Hub - May 28, 2024
Regional Content Hub - July 15, 2024
JJ Lim - December 29, 2023
Regional Content Hub - August 12, 2024
Regional Content Hub - April 15, 2024
84 posts | 3 followers
FollowAccelerate AI-driven business and AI model training and inference with Alibaba Cloud GPU technology
Learn MoreTop-performance foundation models from Alibaba Cloud
Learn MoreAccelerate innovation with generative AI to create new business success
Learn MoreA platform that provides enterprise-level data modeling services based on machine learning algorithms to quickly meet your needs for data-driven operations.
Learn MoreMore Posts by Regional Content Hub