InstructLab이란 무엇인가요?

여러 대의 컴퓨터 모니터 앞에 앉아 있는 남자

작성자

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

InstructLab이란 무엇인가요?

InstructLab은 생성형 AI 애플리케이션 개발에 사용되는 LLM을 크게 개선하기 위한 AI 모델 교육 방법입니다.

Instruct LabIBM 연구와 RedHat이 공동 개발한 오픈 소스 프로젝트로, 전 세계 개발자 커뮤니티(이른바 InstructLab 커뮤니티)가 구축했고 유지보수도 담당합니다.

InstructLab 프로젝트는 대규모 언어 모델(LLM) 개발을 제한하는 문제, 특히 교육 및 데이터 수집의 비용과 복잡성, 기술 및 지식 기여의 어려움 등의 문제를 해결하기 위해 만들어졌습니다.

Forbes에 따르면, InstructLab은 LLM 성능을 높이고 기존 LLM 교육의 여러 확장 과제를 해결하여 기업이 여러 LLM을 구축하고 유지 관리할 필요성을 없앴습니다. 이는 챗봇을 위한 대규모 정렬(LAB)이라고 알려진 IBM의 LLM 교육 방법 덕분에 가능했습니다.

챗봇을 위한 대규모 정렬(LAB)이란 무엇인가요?

오늘날 가장 강력한 챗봇들, 예를 들어 Siri, Alexa, ChatGPT는 모두 사전 학습된 LLM에 의존하여 AI 정렬 과정에서 빠르게 작업을 학습할 수 있습니다. 그러나 인공 지능을 그 수준까지 끌어올리려면 많은 비용과 시간이 소요될 수 있으며, 이렇게 나온 모델들은 복잡하고 미묘하며 인간다운 상황을 헤쳐나가기에 깊이가 부족한 경우가 많습니다. IBM 기업가치 연구소에 따르면 경영진은 주로 생성형 인공 지능(생성형 AI) 애플리케이션을 위한 LLM을 구축해야 하는 수요로 인해 평균 컴퓨팅 비용이 거의 90% 증가할 것으로 예상했습니다.

챗봇을 위한 대규모 정렬(LAB)은 조직이 챗봇이 수행해야 하는 특정 작업에 대한 데이터를 종합적으로 생성하는 방법입니다. 기존 학습 방법과 달리 챗봇은 이미 학습한 내용을 덮어쓰지 않고도 새로운 정보를 빠르게 이해하고 새로운 기술을 배울 수 있습니다.  

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스+인사이트


주간 Think 뉴스레터에서 전문가들이 선별한 AI, 클라우드 등에 관한 인사이트와 소식을 살펴보세요. 

InstructLab은 어떻게 작동하나요?

InstructLab의 대규모 언어 모델(LLM) 개발 및 유지 관리 방식은 전 세계 개발자 커뮤니티의 손에 프로세스를 확실히 맡긴다는 점에서 다른 모델과 다릅니다. 이 프로세스를 오픈 소스 AI라고 합니다. 오픈 소스 소프트웨어를 통해 개발자가 코드와 기능 개발에 기여할 수 있는 것처럼, 오픈 소스 AI를 사용하면 개발자가 새로운 기술과 기능을 추가하고 기존 모델에서 빠르게 반복할 수 있습니다.

LAB 방법을 기반으로 하는 InstructLab의 LLM 구축 접근 방식은 다음과 같은 세 가지 중요한 측면에서 다른 방식들과 다릅니다.

  • 분류 기반 데이터 큐레이션
  • 대규모 합성 데이터 생성
  • 대규모 정렬 조정

분류 기반 데이터 큐레이션

LLM 교육에서 분류는 LLM의 의도된 애플리케이션에 중요한 기술과 지식 영역을 분류하는 계층 구조입니다. 예를 들어 자율 주행 차량에 적용되는 LLM의 분류 체계는, 경주용 자동차 운전자가 의사와 다른 기술을 배워야 하는 것처럼 의학 연구에 적용되는 분류 체계와 크게 다를 수 있습니다.

InstructLab의 데이터는 모델의 기존 기술과 지식 기반이 쉽게 이해할 수 있는 방식으로 구조화되어 있습니다. InstructLab은 구조가 단순하기 때문에 개발자가 격차를 식별하고 필요한 경우 지식과 기술을 쉽게 채울 수 있습니다. 또한 이러한 데이터 큐레이션을 통해 연구 또는 특정 사물인터넷(IoT) 애플리케이션과 같은 새로운 사용 사례에 맞게 모델을 구체적으로 타겟팅해서 적절한 기술을 제공할 수 있습니다.

이를 위해 InstructLab의 접근법은 사람과 기계 모두가 쉽게 해석할 수 있도록 데이터를 표현하는 표준화된 형식인 YAML("YAML Ain't No Markup Language" 또는 "Yet Another Markup Language")에 크게 의존합니다. YAML 접근 방식은 InstructLab 프로세스의 다음 핵심 단계인 대규모 합성 데이터 생성을 위한 기반을 마련합니다.

대규모 합성 데이터 생성

특정 모델을 학습시키기 위한 데이터가 정리되면, 모델 자체가 학습 데이터를 기반으로 자체 데이터를 생성할 준비가 되는데, 이 과정을 합성 데이터 생성이라고 합니다. LLM 학습에서 이 단계에 대한 InstructLab의 접근 방식을 구별하는 것은 수행되는 규모와 생성할 수 있는 데이터의 정확성입니다. 챗봇을 위한 대규모 정렬(LAB) 방법을 다시 한 번 사용하는 InstructLab의 방식은, 자동화된 단계를 추가해서 LLM이 생성하는 답변을 더욱 정확하게 개선합니다.

InstructLab뿐만 아니라 모든 LLM의 학습에 중요한 이 단계에서 생성된 새로운 데이터는 더 작고 효율적인 '학생' 모델에 대한 레이블과 데이터를 생성하는 더 큰 모델인 '교사' 모델에 의존합니다.

LAB 방법을 사용하면 InstructLab의 LLM은 실제로 저장된 데이터가 아니라 데이터 세트를 기하급수적으로 증가시키는 동시에 '학생' 모델에서 생성된 예제가 LLM의 의도된 목적에 부합하도록 유지하는 특정 프롬프트를 사용합니다.

IBM Research에 따르면 이 접근 방식은 "챗봇이 수행하고자 하는 작업에 대한 합성 데이터를 체계적으로 생성하고, 모델이 이미 학습한 내용을 덮어쓰지 않고 새로운 지식과 기능을 파운데이션 모델에 통합하기 위한 것입니다."

대규모 정렬 조정

InstructLab/LAB 프로세스의 마지막 단계에서 LLM은 학습한 합성 데이터를 기반으로 재훈련되어 기술을 개선하고 답변의 정확성을 개선합니다. 이 마지막 단계는 다음의 두 단계로 나뉩니다.

  • 지식 조정: 지식 조정은 짧고 긴 답변이 필요한 새로운 사실을 소개하고 그 답변의 정확성을 평가하여 LLM의 필수 기술 관련 지식 기반을 개선하는 데 중점을 둔 훈련입니다.
  • 기술 조정: 지식 학습이 완료된 후 모델은 배포 전 최종 준비의 일환으로 기술 조정을 거칩니다. 기술을 조정하는 동안 모델은 필요한 특정 기술과 관련된 데이터 샘플을 기반으로 학습합니다(의도한 목적에 따라 상이). 예를 들어, 이 교육 단계에서 고객 서비스 챗봇은 수천 시간 분량의 고객 문의 내용을 학습할 수 있습니다.
Red Hat

Red Hat Openshift on IBM Cloud로 AI 기능 지원

Red Hat OpenShift on IBM Cloud를 사용하여 유연하고 확장 가능한 머신 러닝 운영 플랫폼을 AI 지원 애플리케이션을 구축, 배포, 관리하기 위한 도구와 함께 구현하는 방법을 알아보세요.

기존 RAG와 InstructLab의 차이점

보다 전통적인 방법으로 훈련된 LLM은 일반적으로 검색 증강 생성(RAG)이라는 프로세스를 사용하여 보다 집중적인 영역별 교육으로 지식을 보완합니다. RAG는 독점 데이터에 대한 통제권을 포기하지 않으면서 특정 목적을 위해 기존 기본 모델에 독점 데이터를 추가해야 하는 조직에 유용한 도구입니다.

InstructLab/LAB 방법은 기존의 RAG 프로세스와 동일한 목적으로 사용할 수 있지만, 기존의 특정 지식을 추가하는 대신 커뮤니티의 최종 사용자 기여에 더 중점을 두고 관련 지식과 기술을 구축합니다. 특정 목적에 맞춰 LLM을 미세 조정하려는 조직은 RAG와 InstructLab/LAB을 모두 사용하면 이상적인 결과를 얻을 수 있습니다.

InstructLab의 모델 학습 인프라

AI 애플리케이션이 점점 까다로워지면서 이를 지원하는 LLM은 더 커지고 복잡해지고 있으며, 이에 따라 기본 AI 인프라에 대한 요구가 더 엄격해지고 있습니다. InstructLab/LAB은 다른 모든 고급 모델 학습 방법과 마찬가지로 글로벌 오픈 소스 커뮤니티(github.com/instructlab)의 기여에 따라 AI 모델을 지속적으로 재훈련하는 데 필요한 성능 벤치마크를 충족할 수 있는 GPU 집약적 인프라를 사용합니다.

다행히도, IBM은 LLM 프로젝트의 성공을 위해 필요한 모든 데이터 저장, 관리, 워크플로와 관행을 제공하고자 최선을 다하고 있습니다.

InstructLab이 중요한 이유는 무엇인가요?

오늘날 LLM은 생성형 AI 챗봇과 코딩 어시스턴트와 엣지 컴퓨팅, 사물인터넷(IoT) 애플리케이션 등 가장 흥미로운 AI 사용 사례를 뒷받침하고 있습니다. 이들은 OpenAIClaude처럼 독점 모델일 수도 있고, Mistral, Llama, IBM의 Granite 모델처럼 오픈소스 원칙에 따라 사전 학습 데이터에 의존하는 모델일 수도 있습니다.

InstructLab은 공개적으로 제공되는 모델을 사용하여 독점 모델의 성능에 필적하거나 심지어 능가하기도 합니다. IBM watsonx는 기업이 AI의 영향력을 확장하고 가속화할 수 있도록 돕기 위해 설계된 AI 및 데이터 플랫폼으로, AI에 광범위하게 의존하고 있습니다. 예를 들어 IBM 연구 논문에 따르면 최근 LAB에서 학습한 모델인 Merlinite-7B는 주요 영역에서 여러 독점 모델보다 우수한 성능을 보였습니다.

기존 LLM 수정의 제한 사항

고급 생성형 AI 애플리케이션의 요구 사항을 충족하기 위해, 개발자는 특정 비즈니스 요구 사항을 충족하기 위해 조정하는 기존 LLM에 의존하는 경우가 많습니다. 예를 들어 한 보험 회사에서 직원들이 독점 고객 데이터를 보며 인사이트를 얻는 생성형 AI 애플리케이션을 구축한다고 합시다. 지금이라면 이 회사는 챗봇용으로 구축된 기존 LLM을 구입하여 필요에 맞게 수정할 것입니다. 그러나 이 방식에는 몇 가지 결정적인 제약이 있습니다.

  • 조직에 필요한 고유한 전문 분야를 이해할 수 있게 기존 LLM을 미세 조정하려면 비용과 리소스가 많이 소요될 수 있습니다.
  • 특정 요구 사항에 맞게 조정된 모델은 지속적으로 개선하기 어렵습니다. 즉, 조직의 요구 사항에 따라 반복하거나 발전할 수 없습니다.
  • LLM을 특정 사업 용도로 수정해서 모델을 학습시키려면 인간이 생성한 방대한 데이터가 필요한데, 여기에 시간과 비용이 많이 듭니다.

더 적은 인력과 리소스로 LLM을 개선하는 InstructLab

InstructLab 방법론은 인간이 생성한 인풋과 컴퓨팅 리소스를 훨씬 적게 사용하면서 LLM을 학습할 수 있습니다. 대부분의 최신 LLM, 특히 강력한 챗봇을 지원하는 훈련 방식의 기반은 대규모 비정형 텍스트 데이터 세트를 광범하게 사전 학습시키는 것입니다. 이 훈련 방식을 통해 LLM은 정렬 단계에서 새로운 기술을 비교적 빠르게 습득하지만 비용이 많이 들고 광범위한 인적 개입이 필요합니다.

IBM Research가 개발한 LAB 방식은 분류법에 기반한 합성 데이터 생성 기술을 사용하여 비용과 인간 인풋의 필요성을 줄입니다. InstructLab의 오픈 소스 커뮤니티 기반 개발 방식과 결합된 이 방식은 생성형 AI 애플리케이션에 필요한 LLM 개발을 효과적으로 민주화합니다.

개발자가 관리하는 데 사용하는 지침 세트인 InstructLab의 Command Line Interface(CLI)는 개인용 노트북과 같이 널리 사용되는 장치에서 실행되도록 개발되어 있으며, 개발자는 AI 커뮤니티 Hugging Face를 통해 새로운 지식이나 기술을 공유하도록 권장됩니다.

InstructLab 사용 사례

InstructLab은 오픈 소스 커뮤니티 기반 접근 방식을 사용해서 다양한 사용 사례에 맞게 LLM을 미세 조정합니다. 가장 일반적인 몇 가지 예는 다음과 같습니다.

의료 서비스

InstructLab 접근 방식을 사용하여 개발된 LLM은 과학자들이 의료 연구에서 돌파구를 마련하는 데 필요한 방대한 임상 데이터를 검색하는 것부터 병력을 통한 환자 위험 평가에 이르기까지 의료 산업에 쓰이는 많은 애플리케이션을 위한 새로운 기술과 지식을 습득하도록 훈련할 수 있습니다.

은행

은행에서 InstructLab 접근 방식은 거래 분석 및 모델 예측에 중점을 둔 언어 모델을 구축하여 거래 전략과 관련된 추세를 파악하고 예측할 수 있습니다. 또한 노후를 위한 저축, 예산 책정 같은 개인 금융 분야의 생성형 AI 애플리케이션을 위해 LLM을 학습하는 데에도 사용할 수 있습니다.

고객 서비스

InstructLab 방식을 사용하여 학습된 LLM은 상품 반품이나 특정 제품 요청 같은 고객 서비스의 구체적인 영역이 학습된 지능형 챗봇을 지원할 수 있습니다. 그 밖에 일정 예약, 여행 예약, 세금 신고 같은 복잡한 기술을 갖춘 가상 어시스턴트 역할을 하도록 LLM을 미세 조정하는 데 도움이 될 수 있습니다.

마케팅

InstructLab 방법은 생성형 AI 애플리케이션의 기반이 되는 LLM을 다양한 마케팅 목적으로 미세 조정하는 데 도움이 됩니다. 고객의 행동, 제품 선호도, 향후 제품 설계에 대한 인사이트를 얻기 위해 고객 데이터를 샅샅이 뒤지는 방법을 배울 수 있습니다. 또한 신발이나 옷 사이즈, 선호하는 색상 등 고객 맞춤 조언을 제공하는 데 필요한 기술을 습득할 수 있습니다.

DevOps

DevOps 라이프사이클 개선을 돕는 LLM 훈련에 InstructLab 방법을 적용하면 개발자가 여러 이점을 누릴 수 있습니다. InstructLab 방법을 사용하여 학습한 LLM은 코드를 생성하고 스크립트를 작성하며, 인프라 프로비저닝(Infrastructure as Code (IaC) 애플리케이션)을 자동화하고, 일상적인 문제 해결, 코드 분석과 검토를 단축하고 개선할 수 있습니다.  

관련 솔루션
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud는 완전 관리형 OpenShift 컨테이너 플랫폼(OCP)입니다.

IBM Red Hat OpenShift 살펴보기
Red Hat 솔루션

IBM® Cloud에서 서비스형 Red Hat AI와 InstructLab을 활용하세요.

Red Hat AI 솔루션 살펴보기
Red Hat 컨설팅 서비스

Red Hat 기술과 IBM Consulting을 통해 비즈니스를 혁신하고 비용을 절감하며 하이브리드 클라우드 여정을 가속화하세요.

Red Hat 서비스 살펴보기
다음 단계 안내

IBM® Cloud에서 서비스형 Red Hat AI와 InstructLab을 활용하세요.

Red Hat AI 솔루션 살펴보기 자세한 정보 보기