메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

LLM(대규모 언어 모델), 자주 묻는 질문 8가지

한빛미디어

|

2024-02-16

|

by 시난 오즈데미르

8,596

LLM은 분명 우리의 삶에 놀랍고도 편리한 변화를 일으켰습니다. 하지만 거대한 크기와 많은 복잡성 때문에 여전히 접근하기 어려운 주제이기도 합니다. 실무자 조차 자신의 업무에 적용하기 쉽지 않습니다. 이번 시간에는 여러분이 LLM 생활 중 만나게 될 여러 어려움을 헤쳐 나가는 데 도움이 될 내용을 공유합니다. LLM을 사용하는 동안 발생하는 일반적인 질문에 대한 답변인데요. 여기에 제공된 답변들은 이 분야의 수많은 연구자와 실무자의 지혜를 종합한 것이므로 불확실성이나 장애물에 직면했을 때 시작점으로 활용해 보세요.

본 내용은 도서 『쉽고 빠르게 익히는 실전 LLM』에서 발췌하여 정리하였습니다.

 

Q. LLM이 이미 작업 중인 도메인에 대해 잘 알고 있습니다. 왜 그라운딩을 추가해야 할까요?

A.  LLM이 도메인 지식을 갖추고 있어도, 그것만으로는 충분하지 않습니다. 

그라운딩Grounding  즉, LLM에 구체적 사실 자료를 읽도록 하면 특정 상황에서 그 효과가 향상되어 LLM으로부터 더 정확하고 구체적인 답변을 얻는 데 도움이 됩니다. 연쇄적 사고 프롬프트를 통합하면 시스템이 작업을 지시대로 수행하는 능력을 향상시킬 수 있습니다. 그러므로 그라운딩를 추가하는 것은 결코 생략되어서는 안 될 중요한 단계입니다.

 

Q. 클로즈드 소스 API를 배포할 때 주의해야 할 사항은 무엇인가요?

A. 클로즈드 소스 API를 배포하는 것은 단순히 복사-붙여넣기 작업이 아닙니다. 

선택하기 전에 다양한 모델의 가격을 비교하는 것이 중요합니다. 또한, 가능한 한 빨리 비용을 예측하는 것이 현명한 방법입니다. 간단한 일화로, 저는 공격적인 비용 절감을 통해 개인 프로젝트에서 평균 하루 $55에서 $5로 비용을 줄일 수 있었습니다. 가장 큰 변화는 GPT-3에서 ChatGPT(처음 애플리케이션을 출시했을 때는 ChatGPT가 존재하지 않았습니다)로 전환하고, 생성된 토큰의 수를 줄이기 위해 일부 프롬프트를 조정하는 것이었습니다. 대부분의 회사는 입력/프롬프트 토큰보다 생성된 토큰에 대해 더 많은 비용을 청구합니다.

 

Q. 오픈 소스 모델을 배포할 때 주의해야 할 사항은 무엇인가요?

A. 오픈 소스 모델은 배포 전/후로 철저한 점검이 필요합니다.

배포 전배포 후

- 최적의 하이퍼파라미터, 예를 들어 학습률을 찾아야 합니다.


- 단순히 손실이 아닌 효율적인 지표를 작성해야 합니다. 장르 예측 작업에서 사용한 자카드 유사도 점수를 기억하십니까?


- 데이터 교차 오염에 주의해야 합니다. 장르 예측 시 우리가 생성한 설명에 우연히 장르를 포함시키는 것은 자해 행위와 같습니다.
 

- 모델/데이터 드리프트drift를 지속적으로 모니터링 해야 합니다. 무시하면 시간이 지남에 따라 성능이 저하될 수 있습니다.


- 테스트를 타협할 수 있는 것으로 여기면 안 됩니다. 모델이 잘 수행되고 있는지 확인하기 위해 정기적으로 모델을 테스트해야 합니다.

 

Q. 자체 모델 아키텍처를 생성하고 파인튜닝하는 것이 어려워 보입니다. 이를 더 쉽게 할 수 있는 방법은 무엇일까요?

A. 모델 아키텍처를 생성하고 파인튜닝하는 것이 험난한 산을 오르는 것처럼 느껴질 수 있습니다. 하지만 연습과 실패에서 배우면서 점차 나아집니다. 제 말을 믿지 못하신다고요? 제가 VQA 모델이나 SAWYER와 씨름하며 보낸 무수한 시간을 보셨다면 아실 겁니다. 훈련에 돌입하기 전에 사용할 데이터셋과 지표를 결정하는 시간을 가지세요. 최소한 제대로 정리되지 않은 데이터셋으로 모델을 훈련하고 있다는 것을 중간에 알게 되는 일은 없어야 합니다. 이 점은 제 경험에서 확신할 수 있습니다.

 

Q. 제 모델이 프롬프트 인젝션에 취약하거나 작업 지시에서 벗어나는 것 같습니다. 이를 어떻게 수정할 수 있을까요?

A. 정말 짜증나죠? 이때는 연쇄적 사고 프롬프트와 그라운딩이 큰 도움이 될 수 있습니다. 이들은 모델이 길을 잃지 않도록 해 줍니다.


프롬프트 인젝션은 입력/출력 검증을 사용함으로써 완화할 수 있습니다. 우리가 BART를 사용하여 공격적인 내용을 탐지했던 것을 기억하세요. 같은 개념을 다양한 콘텐츠 레이블을 감지하는 데 사용할 수 있습니다. 프롬프트 체이닝 또한 프롬프트 인젝션을 방어하는 데 유용한 도구입니다. 이는 프롬프트를 연결해 대화의 맥락과 방향을 유지합니다.


마지막으로, 테스트 스위트에서 프롬프트 인젝션에 대한 테스트를 실행하는 것이 중요합니다. 문제는 되도록 일찍 잡는 것이 더 낫습니다.

 

Q. LLM에서 과적합이나 과소적합을 다루는 방법은 무엇일까요?

A. 과적합Overfitting 또는 과대적합은 모델이 훈련 데이터에서는 잘 작동하지만, 보지 못한 데이터나 테스트 데이터에서 성능이 떨어질 때 발생합니다. 이는 모델이 너무 복잡하거나 훈련 데이터의 노이즈나 무작위 변동을 학습했을 때 일반적으로 발생합니다. 드롭아웃이나 L2 정규화와 같은 정규화 기술은 모델 복잡성에 불이익을 주어 과적합을 방지하는 데 도움이 될 수 있습니다.


반면 과소적합Underfitting은 모델이 데이터에 있는 기본 패턴을 포착하기에 너무 단순할 때 발생합니다. 이는 모델에 복잡성을 추가하거나(예: 더 많은 계층이나 유닛), 더 크거나 다양한 데이터셋을 사용하거나, 더 많은 에포크 동안 훈련을 실행하면 완화될 수 있습니다.

 

Q. LLM을 비영어권 언어에 사용하는 방법은 무엇이며, 특별한 어려움은 무엇일까요?

A. LLM은 비영어권 언어에 확실히 사용될 수 있습니다. mBERT(다국어 BERT)나 XLM(교차 언어 모델)과 같은 모델들은 여러 언어로 훈련되어 해당 언어들의 작업을 처리할 수 있습니다. 그러나 각 언어에 대한 훈련 데이터의 양과 품질에 따라 품질과 성능이 다를 수 있습니다. 또한, 단어 순서, 형태론, 특수 문자 사용과 같은 다양한 언어의 독특한 특성으로 인해 특별히 해결해야 할 과제가 생길 수 있습니다.

 

Q. 배포된 LLM의 성능을 더 잘 이해하기 위해 실시간 모니터링이나 로깅을 어떻게 구현할 수 있을까요?

A. 배포된 모델의 성능을 모니터링하는 것은 모델이 예상대로 작동하는지 확인하고 잠재적인 문제를 조기에 파악하기 위해 필수적입니다. TensorBoard, Grafana, AWS CloudWatch와 같은 도구들을 사용하여 모델 지표들을 실시간으로 모니터링할 수 있습니다. 또한, 모델의 답변과 예측을 기록하는 것은 문제를 해결하고 모델이 시간이 지남에 따라 어떻게 수행되고 있는지 이해하는 데 도움이 될 수 있습니다. 이러한 데이터를 저장할 때 관련된 모든 개인정보 보호 규정과 지침을 준수해야 합니다.

 


본 내용은 『쉽고 빠르게 익히는 실전 LLM』에서 내용을 발췌하여 재구성하였습니다. 머신러닝의 세계는 매우 광범위하며, 학습의 여정은 결코 끝나지 않습니다. LLM 또한 그러합니다. LLM이라는 광활한 바다를 항해할 대 내가 원하는 길로 안내해 줄 지도가 필요하다면 아래 도서를 확인해 보세요.

 『쉽고 빠르게 익히는 실전 LLM

댓글 입력
자료실

최근 본 상품0