InstructLab이란?

URL 복사

InstructLab은 프라이빗 데이터로 대규모 언어 모델(LLM)을 커스터마이징하는 프로세스를 간소화합니다. 

LLM은 챗봇, 코딩 어시스턴트 등과 같은 생성형 AI의 기반 역할을 합니다. 이러한 LLM은 상용 모델일 수도 있고(예: OpenAI의 GPT 모델, Anthropic의 Claude 모델) 개방성 정도가 다양한 사전 학습 데이터 및 사용 제한 모델일 수도 있습니다(예: Meta의 Llama 모델, Mistral AI의 Mistral 모델, IBM의 Granite 모델).

AI 실무자가 사전 학습된 LLM을 특정 비즈니스 목표에 맞게 조정해야 하는 경우도 있지만, LLM을 수정하는 방법에는 한계가 있습니다.

  • 특정 지식 또는 기술 영역을 이해하기 위해 LLM을 미세 조정하려면 일반적으로 비용과 리소스가 많이 드는 학습을 실행해야 합니다.
  • 개선 사항을 LLM에 다시 통합할 수 있는 방법이 없기 때문에 사용자 기여를 통해 모델을 지속적으로 개선할 수 없습니다.
  • 일반적으로 LLM을 개선하려면 사람이 생성한 대규모 데이터가 필요한데, 이러한 데이터를 얻는 데 시간과 비용이 많이 소요됩니다.

InstructLab은 이러한 한계를 극복하는 접근 방식을 따릅니다. 즉, 일반적으로 모델을 재학습시키는 데 사용하는 양보다 사람이 생성한 정보와 컴퓨팅 리소스를 훨씬 적게 사용하여 LLM을 개선할 수 있습니다.

InstructLab은 IBM Research의 LAB(Large-scale Alignment for chatBots) 연구를 기반으로 한 명칭입니다. LAB 방식은 MIT-IBM Watson AI Lab과 IBM Research의 연구원들이 작성한 2024 연구 논문에 설명되어 있습니다.

InstructLab은 모델에 구애받지 않으며 원하는 LLM에 맞게 추가 기술과 지식을 미세 조정할 수 있습니다. 이 '기술과 지식 트리 구조'는 기여를 통해 지속적으로 개선되며 향상된 LLM의 정기 빌드를 지원하는 데 적용할 수 있습니다. 

InstructLab 프로젝트는 신속한 반복(iteration)을 우선으로 모델을 정기적으로 재학습시키는 것이 목표입니다. 조직은 자체적으로 보유한 상용 기술과 지식으로 프라이빗 LLM을 학습시키는 데 InstructLab 모델 조정 툴을 사용할 수도 있습니다.

엔터프라이즈 활용 사례에 AI 적용하기

LAB 방식은 3가지 요소로 구성됩니다.

  • 분류 체계 기반의 데이터 큐레이션. 분류 체계는 모델에 대한 새로운 지식과 기술의 예시로 사람이 큐레이션한 다양한 학습 데이터 세트입니다.
  • 대규모 합성 데이터 생성. 그런 다음 이 모델은 시드 학습 데이터를 기반으로 새 예시를 생성하는 데 사용됩니다. 합성 데이터의 품질이 균일하지 않을 수 있으므로 LAB 방식은 예시 답변을 개선하는 자동화된 단계를 추가하여 답변이 근거가 있고 안전한지 확인합니다.
  • 반복적인 대규모 조정 튜닝. 마지막으로 합성 데이터셋을 기반으로 모델을 재학습시킵니다. LAB 방식에는 지식 튜닝과 기술 튜닝이라는 두 가지 튜닝 단계가 포함됩니다.

데이터셋은 기술과 지식의 기여를 통해 확장되며, 기술과 지식이 추가될 때마다 튜닝 중인 모델의 품질이 개선됩니다. 

Red Hat 리소스

InstructLab을 도메인별 활용 사례에 맞게 LLM을 커스터마이징하는 다른 방법들과 비교해 보겠습니다.

사전 학습

사전 학습은 가장 심도 깊은 수준의 모델 커스터마이징을 의미하며, 조직은 이 사전 학습을 통해 어느 학습 데이터로 모델의 기본적 이해를 형성할지를 큐레이션할 수 있습니다. 

LLM은 사전 학습 시 레이블이 지정되지 않은 데이터로 구성된 수조 개의 토큰을 사용하여 다음 토큰을 예측하도록 학습됩니다. 이러한 훈련은 상당히 많은 비용이 들고 수천 개의 GPU와 몇 달의 시간이 필요할 수도 있습니다. 기능이 뛰어난 LLM을 사전 훈련하는 작업은 충분한 리소스를 보유한 조직에서만 가능합니다.

조정 튜닝

사전 학습을 마친 LLM 모델은 최대한 정확하고 유용한 답변을 생성하도록 조정 튜닝 과정을 거칩니다. 조정 튜닝의 첫 번째 단계는 일반적으로 명령어 튜닝으로, 특정 관심 태스크에 대해 모델을 직접 학습시킵니다. 

다음은 기본 설정 튜닝으로, 사람의 피드백을 통한 강화 학습(Reinforcement Learning From Human Feedback, RLHF)이 포함될 수 있습니다. 이 단계에서는 사람이 모델을 테스트하고 출력을 평가하여 모델의 답변이 바람직한지 확인합니다. RLHF 프로세스에는 모델을 최적화하기 위해 여러 번의 피드백과 개선이 포함될 수 있습니다.

연구자들은 이 조정 튜닝 단계에서 피드백의 양이 초기의 훈련 데이터 세트보다 훨씬 적을 수 있으나(사전 훈련에 필요한 수조 개의 데이터 토큰에 비해 수만 개의 인간 주석에 불과함), 모델의 잠재적 기능을 발굴할 수 있다는 사실을 알았습니다.

InstructLab

LAB 방식은 사람이 생성한 훨씬 작은 데이터 세트에서도 모델 조정의 이점을 실현할 수 있어야 한다는 아이디어에서 탄생했습니다. AI 모델에서는 사람이 제공하는 일부 예시를 사용하여 대규모 합성 데이터를 생성하고 해당 목록을 개선해 품질을 높인 다음 그러한 고품질의 합성 데이터 세트를 사용해 추가로 튜닝하고 학습시킬 수 있습니다. 일반적으로 수천 개의 인간 피드백 예시가 필요한 명령어 튜닝과 달리 LAB은 사람이 제공하는 상대적으로 적은 수의 예시를 사용하여 훨씬 더 나은 모델을 만들 수 있습니다.

InstructLab은 검색 증강 생성과 어떻게 다른가요?

간단히 말해서 InstructLab과 검색 증강 생성(RAG)은 서로 다른 문제를 해결합니다.

RAG는 사전 학습에 포함되지 않은 도메인별 지식으로 LLM을 보완하는 비용 효율적인 방법입니다. RAG 방식에서는 모델 재학습 없이도 챗봇이 특정 분야나 비즈니스와 관련된 질문에 정확하게 답할 수 있습니다. 

RAG를 사용하면 지식 문서가 벡터 데이터베이스에 저장된 다음 사용자 쿼리에 따라 청크로 검색되어 모델로 전송됩니다. 이러한 방식은 정보 제어 권한을 유지하면서 LLM에 상용 데이터를 추가하려는 사람이나 적시에 정보에 액세스하기 위해 LLM을 필요로 하는 사람에게 유용합니다. 

이는 개선된 버전의 LLM의 정기 빌드를 지원하기 위해 최종 사용자 기여를 소싱하는 InstructLab 방식과 대조됩니다. InstructLab은 지식을 추가하고 LLM의 새로운 기능을 활용하는 데 도움이 됩니다.

InstructLab으로 튜닝한 모델에 RAG 기술을 사용하면 RAG 프로세스를 '강화'할 수 있습니다.

RAG에 대해 자세히 알아보기

Red Hat AI InstructLab on IBM Cloud는 하드웨어 인프라를 소유하고 운영하지 않아도 LLM에 기여할 수 있도록 합니다.

Red Hat InstructLab은 자체적으로 LLM 개발을 간소화할 수 있는 오픈소스 프로젝트로, 비용 효율적인 방식으로 더 적은 데이터와 리소스를 사용하여 모델을 조정할 수 있도록 지원합니다.

IBM Cloud는 가장 엄격한 산업의 규제도 충족하도록 설계된 엔터프라이즈 클라우드 플랫폼으로, 매우 유연하고 안전하며 규제를 준수하는 고성능 클라우드를 제공합니다.

두 솔루션의 장점을 결합한 Red Hat AI InstructLab on IBM Cloud를 사용하면 확장 가능하며 비용 효율적인 방식으로 조직의 고유한 활용 사례에 맞춰 LLM을 간소화하고 확장하고 보호할 수 있습니다.

Red Hat InstructLab on IBM Cloud에 대해 자세히 알아보기

허브

레드햇 공식 블로그

레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.

모든 Red Hat 제품 체험판

무료 제품 체험판을 통해 핸즈온 경험을 얻고, 자격증 시험에 대비하거나 해당 제품이 조직에 적합한지 평가할 수 있습니다.

추가 자료

KVM이란? | 리눅스 오픈소스 가상화 기술의 핵심

KVM(Kernel 기반 가상 머신)은 리눅스를 강력한 하이퍼바이저로 전환하는 오픈소스 가상화 솔루션입니다. KVM의 정의, 특징, 사용 방법을 자세히 알아보세요.

Podman Desktop이란?

Podman Desktop은 로컬 개발자 환경에서 컨테이너 작업을 간소화하는 무료 오픈소스 툴입니다.

Ansible과 Puppet 비교: 선택 시 알아야 할 주요 사항 및 차이점

Ansible과 Puppet은 커뮤니티 오픈소스 IT 자동화 툴입니다. 이 문서에서는 두 툴의 유사점과 차이점을 자세히 설명하고, 선택 시 고려해야 할 주요 요소들을 안내합니다.

오픈소스 리소스

관련 기사