키보드워리어

LLM 모델 deploy어떻게 하는건데? 본문

개발 관련/Database

LLM 모델 deploy어떻게 하는건데?

꽉 쥔 주먹속에 안경닦이 2024. 4. 19. 11:17
728x90

LLM에 대해 살펴봅니다.

 

 

LLM이란?

콘텐츠를 생성하고 사람의 프롬프트에 응답하도록 설계된 Large Language Models 애플리케이션입니다. 

 

새로운 혁신적인 기술과 마찬가지로, 제너레이티브 AI LLM에도 강점, 한계가 있습니다.

새로운 채팅 어시스턴트 LLM 의 강점

● 대화형 - 사람의 입력을 이해합니다.
● 새 콘텐츠 생성 - 사용자 입력에 반응합니다.
● 예제, 코드까지 제공 가능
● 전문가 수준의 지식 제공

Large Language Model 의 한계
● 기본 모델 학습은 public 데이터에서만 기반합니다
● 트레이닝 및 fine-tunning 시점의 데이터로 고정됩니다
● 매번 다른 응답 및 환각(Hallucination)

누가 진짠데..


● 대규모 사용에 따른 비용 및 개인정보 보호 문제

  • multilingual-e5-small은 기본 내장형으로 es에 탑재되어있다.
  • 이 기능을 활용하기 위해서 플래티넘 이상의 구독 서비스가 활성화 되어야한다. (테스트용으로 해볼거면 trail 30일 적용)
  • large모델을 설치해본다.

- 모델을 배포하기 위해 설치해야하는 것들

################################

pip 명령어를 통해 아래 버전에 맞추어 install 한다.

pip install eland elasticsearch  Python sentence_transformers transformers SentencePiece torch protobuf

eland  8.12.0

elasticsearch  8.12.0

Python 3.11.5

sentence_transformers 2.4.0

transformers  4.39.0

SentencePiece 0.2.0

torch 2.2.0

protobuf 3.20.3

################################

 

 

위 설정이 끝났다면 eland 모델을 배포해본다.

 

eland_import_hub_model --url 'https://*********'\ << 본인 IP
--hub-model-id intfloat/multilingual-e5-large \
--task-type text_embedding \
--es-username elastic --es-password ************\ << 엘라스틱 계정에 맞춰 바꾸면 됩니다.
--es-model-id intfloat__multilingual-e5-large --insecure

 

모델 배포 확인

Kibana > Analytics > Machine Learning > Model Management > Trained Models  

모델 deploy를 누르고 Number of allocations, Threads per allocation 설정을 해주면 된다.

 각 값들은 CPU를 얼마나 쓸지 지정해주는 것이기에 사용하는 스펙에 맞춰서 설정 후 Start 버튼 클릭.

728x90