2024년 1월 29일

엔지니어링

Backend.AI 와 Tool LLM 의 만남 : Tool 과 AI 의 협업 혁명 - 2부

  • Sergey Leksikov

    Sergey Leksikov

    머신러닝 연구원

2024년 1월 29일

엔지니어링

Backend.AI 와 Tool LLM 의 만남 : Tool 과 AI 의 협업 혁명 - 2부

  • Sergey Leksikov

    Sergey Leksikov

    머신러닝 연구원

2부. Backend.AI 로 Gorilla LLM 모델 서빙하기

이전 글에서는 Tool LLM의 기능과 사용법에 대해 설명했습니다. 이번 글에서는 Backend.AI 데스크탑 앱을 사용하면서 Backend.AI 클라우드에서 Gorilla LLM 모델을 실행하는 방법을 단계별로 데모 해 보겠습니다.

그림 1. MacO에 설치된 Backend.AI 데스크탑 앱

  1. 시작 버튼을 누르면 세션 생성 메뉴가 나타납니다.

그림 2. 새 세션 시작 화면

  1. NGC-Pytorch 23.07 이미지를 선택합니다.

  2. 모델 파일이 포함된 작업 디렉토리 vFolder를 첨부합니다. 디렉토리명 예 api_helper/

그림 3. vFolder 첨부 화면

  1. 128 GB RAM 및 5 fGPU 크기의 리소스를 선택합니다.

그림 4. 리소스 선택 화면

  1. Visual Studio Code 데스크탑 환경을 선택합니다.

그림 5. IDE 환경 선택 화면

  1. /home/work/api_helper/ 디렉토리에 server.py 파일을 생성합니다.

  2. requirements.txt 파일을 생성합니다.

그림 6. requirements.txt 파일 내용

설치를 위해 다음 명령을 실행하세요: pip install -r requirements.txt

그림 7. 설치 명령 실행

  1. server.py 파일을 추가하고 트랜스포머 라이브러리를 사용하여 토큰화 및 모델 로더를 정의합니다.

그림 8. server.py 코드 스니펫

  1. 서버 IP 주소와 포트 번호를 명시합니다.

그림 9. 서버 IP 주소 및 포트 번호 명시

  1. 다음 명령으로 모델을 실행합니다: python server.py

그림 10. server.py 시작

  1. 생성된 서버에 접속합니다.

VSCode는 기기에서 Backend.AI 클라우드 서버로 포트 터널링 세션을 자동으로 생성합니다. 로컬 호스트 주소에 액세스하여 서버 상태를 확인할 수 있으며, 요청은 Backend.AI 클라우드로 터널링됩니다. 또한 필요에 따라 다른 사용자 지정 엔드포인트를 정의할 수 있습니다.

그림 11. 서버 실행 로그

그림 12. VSCode 포트 포워딩 구성

그림 13. 서버의 루트에 액세스하기

여기까지는 Backend.AI Cloud에 계산 세션을 생성하고, api_helper/ vFolder 디렉터리에 요구사항.txt 파일과 server.py를 첨부했습니다. 그런 다음 HuggingFace 리포지토리에서 Gorilla LLM을 다운로드하고 추론/api .endpoint를 사용하여 계산 세션 메모리로 로드하는 FastAPI 서버를 시작합니다.

  1. API 추론 테스트 로컬 컴퓨터 명령줄에서 curl 요청을 생성하여 Gorilla LLM의 API 추론을 테스트할 수 있습니다:
curl -X POST -H "Content-Type: application/json" -d '{"text":"Object detection on a photo. <<<api_domain>>>:"}' http://127.0.0.1:8000/inference

그림 14. curl 명령 예제

그림 15. 요청 수신 후 서버의 GPU 워크로드

그림 16. 요청 수신 및 결과 인쇄에 대한 서버 로그

  1. UI 웹 앱을 정의합니다. 어떤 웹 기술이라도 사용하여 더 나은 방식으로 결과를 표시할 수 있는 UI 앱을 만들 수 있습니다. 예를 들어 html 및 JavaScript 파일을 사용하여 server.py의 루트 아래에 있는 정적 디렉터리에 배치한 다음 웹 앱의 엔드포인트를 정의할 수 있습니다.

그림 17. FastAPI 서버에 html 웹 앱 추가 예시

  1. Gorilla LLM 웹 앱 프로토타입 - API 질문 답변 및 코드 생성을 위해 API가 튜닝된 대규모 언어 모델입니다.

그림 18. Gorilla LLM 웹 앱 프로토타입. 예제 1

그림 19. Gorilla LLM 웹 앱 프로토타입. 예제 2

맺음말

고릴라 LLM이 제공하는 몇 가지 어려움에도 불구하고, 자체 API로 튜닝된 LLM은 큰 잠재력과 가능성을 가지고 있습니다. 상용 대형 모델보다 더 정확한 파라미터와 함수 호출로 가장 최신의 결과를 제공할 수 있으며, API를 통한 질문 답변, 코드 자동 완성, API 코드 실행과 같은 작업에 유용하게 사용할 수 있기 때문입니다.

한계점 및 어려움:

Gorilla LLM 모델을 서버로 전송하는 동안 다음과 같은 문제를 고려해야 했습니다:

  • 모델이 예상과 다른 형식의 응답을 생성할 수 있음
  • 동일한 질문에 대해 모델이 다른 결과를 생성할 수 있음
  • LLM 응답 파싱 및 렌더링
  • 중복된 문장과 줄 제거하기

도움이 필요하신가요?

내용을 작성해 주시면 곧 연락 드리겠습니다.

문의하기
lablup

본사 및 HPC 연구소

KR Office: 서울특별시 강남구 선릉로 577 CR타워 8층 US Office: 3003 N First st, Suite 221, San Jose, CA 95134

  • facebook
  • youtube
  • Linkedin
  • GitHub

© Lablup Inc. All rights reserved.

개인정보를 소중히 여깁니다

쿠키는 사이트 트래픽 분석, 방문자 이용 방식 파악, 서비스 개선에 사용됩니다. 사이트 기본 동작에 필요한 필수 쿠키는 항상 활성화됩니다. 자세히 보기

"모두 수락"을 클릭하면 분석 쿠키가 기기에 저장되는 것에 동의하게 됩니다. 필수 쿠키만 허용하시려면 "모두 거부"를, 직접 선택하시려면 "상세 설정"을 눌러주세요. 설정은 언제든지 변경할 수 있습니다.