What is InstructLab?
www.redhat.com
InstructLab에 대해 들어보셨나요? InstructLab은 생성형 AI 애플리케이션에 사용되는 LLM(대형 언어 모델)을 쉽고 편리하고 표준화된 방법으로 성능을 향상시키기 위한 오픈 소스 프로젝트인데요, LLM 도입을 고민하시는 분들을 위한 InstructLab 기사 공유합니다.😃 (출처: Red Hat Blog)
<InstructLab이란?>
Red Hat의InstructLab 커뮤니티 프로젝트는 LLM 방향성을 개선하기 위한 비용 효율적인 솔루션을 제공하고 최소한의 머신러닝 경험을 가진 사람들이 기여할 수 있는 기회를 제공합니다.
InstructLab으로 무엇을 하나요?
LLM은 챗봇 및 코딩 도우미와 같은 다양하고 유용한 애플리케이션을 강화할 수 있는데요, 이러한 LLM은 독점적(예: OpenAI의 GPT 모델 및 Anthropic의 Claude 모델)이거나 사전 학습 데이터 및 사용 제한(예: Meta의 Llama 모델, Mistral AI의 Mistral 모델 및 IBM의 Granite 모델)에 대해 다양한 수준의 개방성(openness)을 제공할 수 있습니다.
AI 담당자(practitioner)는 사전 학습된 LLM을 특정 비즈니스 목적에 맞게 조정해야 하는데, LLM을 수정하는 방법에는 제한이 있습니다.
특정 지식이나 기술 영역을 이해하기 위해 LLM을 미세 조정하려면 일반적으로 기존 오픈 모델을 포크한 다음, 비용이 많이 들고 리소스 집약적인 학습을 실행해야 합니다.
개선 사항을 업스트림 프로젝트에 다시 통합할 방법이 없으므로 모델이 커뮤니티 기여를 통해 지속적으로 개선될 방법이 없습니다.
LLM 개선(refinements)에는 일반적으로 사람이 생성한 대량의 데이터가 필요하므로 이를 얻는 데 시간과 비용이 많이 소요될 수 있습니다.
InstructLab은 위의 한계점들을 극복하기 위한 접근 방식을 따릅니다. 일반적으로 모델을 재학습하는 데 사용되는 것보다 훨씬 적은 수의 사람의 생성 정보와 훨씬 적은 컴퓨팅 리소스를 사용하여 LLM을 향상할 수 있습니다. 그리고 업스트림 기여를 통해 지속적으로 모델을 개선할 수 있습니다.
InstructLab은 모델별로 다르지 않습니다. 선택한 LLM에 맞게 추가 기술과 지식을 미세 조정할 수 있습니다. 이 "기술 및 지식 트리"는 커뮤니티 기여를 통해 지속적으로 개선되며 향상된 LLM의 정기적인 구축을 지원하는 데 적용될 수 있습니다.
InstructLab은 IBM 그래니트(Granite)의 향상된 버전을 유지 관리합니다. IBM이 출시한 다른 두 가지 실험실 강화(enhance) 모델에는 Llama 2에서 파생된 Labradorite와 Mistral에서 파생된 Merlinite가 있습니다. InstructLab 프로젝트는 빠른 반복을 우선시하고 정기적으로 모델을 재학습할 계획입니다. 또한 조직은 InstructLab 모델 정렬 도구를 사용하여 고유한 기술과 지식을 갖춘 개인용 LLM을 학습할 수도 있습니다.
InstructLab은 어떻게 작동하나요?
LAB 메소드는 크게 3가지 구성요소로 구성됩니다.
분류(Taxonomy) 기반 데이터 큐레이션: 분류법은 모델에 대한 새로운 지식과 기술의 예로 사람이 선별한 다양한 학습 데이터 세트입니다.
대규모 합성(synthetic) 데이터 생성: 모델은 시드(seed) 학습 데이터를 기반으로 새로운 예를 생성하는 데 사용됩니다. 합성 데이터의 품질이 다양할 수 있다는 점을 인식한 LAB 방법은 예시 답변을 구체화하는 자동화된 단계를 추가하여 답변이 근거가 있고 안전한지 확인합니다.
반복적인 대규모 정렬 튜닝: 모델은 합성 데이터 세트를 기반으로 재학습됩니다. LAB 방법에는 지식 조정과 기술 조정이라는 2가지 조정 단계가 포함됩니다.
커뮤니티의 데이터 기여는 향상된 LLM의 정기적인 반복 빌드로 이어질 수 있으며, 각 LLM은 커뮤니티 기여를 통해 생성된 기술 트리를 통해 더욱 향상됩니다.
InstructLab은 다른 LLM 학습 방법과 어떻게 다른가요?
Pretraining: 사전 학습(pretraining) 간에 LLM은 레이블이 지정되지 않은 데이터로 구성된 수조 개(trillion)의 토큰을 사용하여 다음 토큰을 예측하도록 학습됩니다. 이는 매우 비용이 많이 들고 때로는 수천 개의 GPU와 몇 달의 시간이 필요합니다. 뛰어난 역량을 갖춘 LLM을 사전 학습하는 것은 상당한 리소스를 갖춘 조직에서만 가능합니다.
Alignment tuning
사전 학습 후, LLM은 모델의 답변을 가능한 정확하고 유용하게 만들기 위해 정렬 튜닝을 거칩니다. 정렬 튜닝의 첫 번째 단계는 일반적으로 관심 있는 특정 작업에 대해 모델이 직접 학습되는 명령어 튜닝입니다. 다음은 사람의 피드백(RLHF)을 통한 강화 학습을 포함할 수 있는 선호도 튜닝입니다. 이 단계에서 사람은 모델을 테스트하고 모델의 답변이 선호되는지 선호되지 않는지에 주목하여 출력을 평가합니다. RLHF 프로세스는 모델을 최적화하기 위해 여러 라운드의 피드백과 개선을 포함할 수 있습니다.
연구자들은 이 정렬 튜닝 단계에서 피드백의 양이 사전 학습에 필요한 수조 개의 데이터 토큰에 비해 초기 학습 데이터 세트(수만 개의 인간 주석)보다 훨씬 작을 수 있으며, 여전히 모델의 잠재적 기능을 잠금 해제할 수 있다는 것을 발견했습니다.
InstructLab
LAB 방법은 사람이 생성한 데이터의 더 작은 집합에서도 모델 정렬의 이점을 실현하는 것이 가능해야 한다는 아이디어에서 탄생했습니다. AI 모델은 소수의 인간 사례를 사용하여 대량의 합성 데이터를 생성한 다음 해당 목록을 품질에 맞게 개선하고 해당 고품질 합성 데이터 세트를 추가 튜닝 및 학습에 사용할 수 있습니다.
일반적으로 수천 개의 사람의 피드백 사례가 필요한 명령 조정과 달리 LAB는 사람이 제공하는 상대적으로 적은 사례를 사용하여 훨씬 더 나은 모델을 만들 수 있습니다.
InstructLab은 검색 증강 생성(RAG)과 어떻게 다른가요?
InstructLab과 RAG(검색 증강 생성)을 통해 다양한 문제를 해결할 . 수있는데, RAG는 사전 학습의 일부가 아닌 도메인별 지식으로 LLM을 보완하는 비용 효율적인 방법입니다.
RAG를 사용하면 모델을 재학습하지 않고도 챗봇이 특정 분야나 비즈니스와 관련된 질문에 정확하게 대답할 수 있습니다. 지식 문서는 벡터 데이터베이스에 저장된 다음 청크로 검색되어 사용자 쿼리의 일부로 모델로 전송됩니다. 이는 정보에 대한 통제권을 포기하지 않고 LLM에 독점 데이터를 추가하려는 사람이나 적시에 정보에 액세스하기 위해 LLM이 필요한 사람에게 유용합니다. LLM의 향상된 버전의 정기적인 빌드를 지원하기 위해 최종 사용자 기여를 소싱하는 InstructLab 방법과 대조됩니다. InstructLab은 지식을 추가하고 LLM의 새로운 기술을 잠금 해제하는 데 도움이 됩니다.
InstructLab 조정 모델에서 RAG 기술을 사용하여 RAG 프로세스를 "supercharge"하는 것이 가능합니다.
InstructLab 프로젝트의 구성 요소는 무엇입니까?
Taxonomy(분류): InstructLab은 주로 전문가들이 수동으로 신중하게 생성한 분류법에 의해 구동됩니다. InstructLab에는 사용자가 사람이 제공한 데이터로 조정된 모델을 생성할 수 있는 분류 트리가 포함되어 있으며, 이는 합성 데이터 생성을 통해 향상됩니다.
명령줄 인터페이스(CLI): InstructLab CLI를 사용하면 컨트리뷰터들은 노트북이나 워크스테이션을 사용하여 자신의 기여를 테스트할 수 있습니다. 커뮤니티 구성원은 InstructLab 기술을 사용하여 특수 하드웨어에 액세스하지 않고도 합성 데이터 생성 및 모델 명령 튜닝의 저충실도(low-fidelity) 근사치를 생성할 수 있습니다.
모델 학습 인프라: 향상된 LLM을 만드는 과정으로써, 커뮤니티의 새로운 기여를 기반으로 모델을 정기적으로 재학습하려면 GPU 집약적인 인프라가 필요합니다. IBM은 InstructLab 프로젝트의 향상된 모델을 자주 재교육하는 데 필요한 인프라를 기부하고 유지 관리합니다.
원본 기사 링크는 아래와 같습니다. InstructLab이 기업 내에 LLM을 도입하고자 하시는 분들에게 많은 도움이 되면 좋겠습니다. 감사합니다.🙏
[Source Link] https://www.redhat.com/en/topics/ai/what-is-instructlab
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 5월 29일 오전 5:58