diff --git a/_posts/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows.md b/_posts/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows.md new file mode 100644 index 0000000..955be78 --- /dev/null +++ b/_posts/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows.md @@ -0,0 +1,720 @@ +--- +layout: post +title: "AgentInstruct: Toward Generative Teaching with Agentic Flows" +date: 2024-07-03 21:01:12 +author: "Microsoft Research" +categories: ["Paper Reviews", "Language-Models"] +tags: ["Agentic-Workflow-Generation", "Large-Scale-Agentic-Data-Synthesis", "Generative-Teaching", "Skill-Specific-Synthetic-Data-Generation", "Multi-Stage-Instruction-Refinement", "Content-Transformation-Agents", "Suggester-Editor-Agent-Pairs", "Synthetic-Data-Generation-for-Post-Training", "Taxonomy-Driven-Instruction-Diversity", "Tool-Augmented-Agent-Flows"] +cover: /assets/images/language-models.jpg +use_math: true +--- +### TL;DR +# AgentInstruct: 에이전틱 플로우를 활용한 생성적 교육 + +## 이 연구를 시작하게 된 배경과 동기는 무엇입니까? + +합성 데이터는 대규모 언어 모델(LLM)과 소규모 언어 모델(SLM) 모두의 개발을 가속화하는 데 있어 점점 더 중요한 역할을 하고 있습니다. 그러나 합성 데이터 활용에는 심각한 문제점들이 존재합니다. 연구자들은 **모델 붕괴(model collapse)** 현상을 우려하고 있으며, 이는 생성된 데이터로 반복적으로 훈련할 경우 모델이 점진적으로 퇴화될 수 있음을 의미합니다. 또한 다른 모델이 생성한 합성 데이터로 모델을 훈련하면 실제 능력이 아닌 문체적 특성만을 학습하게 되는 모방의 한계 문제도 제기되었습니다. 이러한 불일치는 고품질이고 다양한 합성 데이터를 생성하는 것이 매우 어렵다는 근본적인 문제에서 비롯됩니다. + +현재 포스트 트레이닝을 위한 합성 데이터 생성의 가장 널리 사용되는 접근법은 기존 프롬프트 세트로부터 시작하여 GPT-4와 같은 강력한 모델을 사용해 응답을 생성하는 것입니다. 그러나 이 방법은 높은 품질을 보장하기 위해 데이터를 큐레이션하고 필터링하는 데 상당한 인간의 노력을 필요로 합니다. 이는 확장성을 제한하고 비용을 증가시키는 주요 병목 현상입니다. 동시에 지난 한 해 동안 **에이전틱 워크플로우**, 특히 멀티 에이전트 워크플로우의 부상은 새로운 가능성을 제시합니다. 에이전트들은 반성과 반복을 통해 솔루션을 개선하고, 검색 API, 계산기, 코드 인터프리터와 같은 도구를 활용하여 기본 LLM의 한계를 극복할 수 있습니다. 이러한 에이전틱 플로우는 새로운 프롬프트와 해당 응답을 모두 생성할 수 있으며, 인간 개입의 필요성을 크게 줄일 수 있습니다. + +## 이 연구에서 제시하는 새로운 해결 방법은 무엇입니까? + +본 연구는 **생성적 교육(Generative Teaching)**이라는 새로운 개념을 제시합니다. 이는 강력한 모델이 생성한 데이터를 사용하여 다른 모델에게 새로운 기술이나 행동을 가르치는 설정을 의미합니다. 이 목표를 달성하기 위해 연구팀은 **AgentInstruct**라는 확장 가능한 에이전틱 프레임워크를 개발했습니다. AgentInstruct의 핵심 혁신은 텍스트 문서와 코드 파일과 같은 원시 데이터 소스만을 시드로 사용하여 프롬프트와 응답을 모두 자동으로 생성할 수 있다는 점입니다. 이는 기존의 프롬프트 세트에 의존하는 방식과 근본적으로 다르며, 벤치마크 특화 능력이 아닌 더 일반적인 능력을 학습하도록 촉진합니다. + +AgentInstruct는 세 가지 주요 플로우로 구성됩니다. **Content Transformation Flow**는 원시 시드 데이터를 고품질의 다양한 데이터를 생성하기 쉽게 만드는 중간 표현으로 변환합니다. **Seed Instruction Generation Flow**는 분류 체계를 따라 대상 작업의 인스턴스를 생성하며, **Refinement Flow**는 초기 데이터 포인트에서 시작하여 주변 영역을 탐색하면서 복잡도를 증가시킵니다. 이 세 가지 플로우는 독해, 텍스트 수정, 도구 사용, 코딩, 창의적 글쓰기 등 17가지 서로 다른 기술에 대해 구현되었습니다. 각 기술은 100개 이상의 하위 카테고리를 포함하며, 무작위 시드 선택과 무작위 에이전트 선택의 조합을 통해 방대한 양의 다양한 데이터를 자동으로 생성할 수 있습니다. + +## 제안된 방법은 어떻게 구현되었습니까? + +AgentInstruct의 구현은 독해 능력을 위한 플로우를 통해 구체적으로 이해할 수 있습니다. Content Transformation Flow에서는 9개의 전문화된 변환 에이전트가 사용됩니다. **Argument Passage Generator**는 원시 텍스트를 논증 구조를 가진 지문으로 변환하여 주장과 근거를 명확하게 제시합니다. 예를 들어, 요산에 관한 의료 정보를 포함한 원시 텍스트는 고요산혈증이 심혈관 질환 위험을 증가시킬 수 있다는 명확한 주장, 정의와 원인을 포함한 지지 증거, 그리고 중요한 한정 조건을 포함한 논증 구조의 지문으로 변환됩니다. 이러한 구조는 강화/약화 질문, 가정 식별, 추론 평가와 같은 논리적 추론 질문을 생성하기에 이상적입니다. + +Seed Instruction Generation Flow는 43개의 독해 질문 유형을 포함하는 포괄적인 분류 체계를 구현합니다. 문자적 이해, 비판적 이해, 평가적 이해, 추론, 가정 식별, 논증 강화/약화 정보 식별 등이 포함됩니다. 각 질문 유형에 대해 특화된 에이전트가 정의되어 있으며, 오케스트레이션 프로세스는 이전 단계의 콘텐츠 변환 에이전트에 의해 결정된 에이전트의 하위 집합을 참여시킵니다. Refinement Flow는 여러 Suggester-Editor 에이전트 쌍을 포함하며, 각 (지문, 질문) 쌍을 검토하여 질문을 더 복잡하게 만들거나 답변 불가능하게 만들거나 혼란스러운 오답 선택지를 추가합니다. 이러한 정제 과정을 통해 단순한 사실 확인 질문이 다단계 추론이 필요한 질문으로 진화합니다. + +AgentInstruct의 실제 구현은 Mistral-7b-v0.1 기본 모델을 약 2,580만 개의 인스트럭션-응답 쌍으로 파인튜닝하는 형태로 검증되었습니다. 이 중 2,200만 개는 AgentInstruct를 통해 새롭게 생성된 데이터이고, 나머지 380만 개는 기존 Orca 시리즈 및 공개 데이터셋에서 가져온 데이터입니다. 훈련은 19개의 NVIDIA A100 노드(총 152개의 GPU)를 사용하여 수행되었으며, 각 GPU의 배치 크기는 10으로 설정되어 전체 배치 크기가 1,520이 되도록 했습니다. 초기 학습률은 8e-6으로 설정되었고, 코사인 학습률 스케줄과 초기 500 스텝 동안의 선형 워밍업이 적용되었습니다. 모델은 총 3 에포크 동안 훈련되었으며, 전체 훈련 과정은 약 200시간이 소요되었습니다. + +## 이 연구의 결과가 가지는 의미는 무엇입니까? + +AgentInstruct로 생성된 데이터를 사용하여 훈련된 Orca-3 모델은 여러 벤치마크에서 놀라운 성능 향상을 보여주었습니다. **AGIEval에서 40%, MMLU에서 19%, GSM8K에서 54%, BBH에서 38%, AlpacaEval에서 45%의 성능 향상**을 달성했으며, 동일한 기본 모델을 사용하는 Mistral-7B-Instruct를 크게 능가했습니다. 특히 주목할 만한 점은 Orca-Bench라는 홀드아웃 테스트 세트에서 Orca-3가 9.55점(만점 10점)을 달성했다는 것입니다. 이는 Orca-2.5의 7.13점, Mistral-Instruct-7B의 8.31점, ChatGPT의 8.13점과 비교할 때 매우 우수한 성과입니다. 독해 능력 평가에서는 Orca-3가 Orca-2.5 대비 18%, Mistral-Instruct-7B 대비 21%의 개선을 보여주었으며, 법학대학원 입학시험(LSAT)의 독해 섹션에서 GPT-4와 동등한 수준의 성능을 달성했습니다. + +수학 능력 평가에서도 AgentInstruct의 효과가 명확하게 드러났습니다. BBH multistep-arithmetic-two에서는 1418%라는 극적인 개선을 보였으며, 초등 수준부터 대학 수준까지 다양한 난이도에 걸쳐 44%에서 168%에 이르는 성능 향상을 달성했습니다. 요약 작업에서는 환각을 31.34% 감소시키면서도 GPT-4와 비교 가능한 품질 수준을 유지했습니다. RAG(Retrieval Augmented Generation) 능력 평가에서는 의료 도메인의 PubMedQA에서 Mistral-Instruct 대비 92.71%의 상대적 개선을 달성했으며, 이는 일반적인 비의료 데이터로 훈련되었음에도 불구하고 새로운 도메인으로 효과적으로 전이될 수 있는 일반화된 기술을 가르칠 수 있음을 보여줍니다. + +이 연구의 광범위한 의미는 합성 데이터 생성을 위한 에이전틱 플로우 사용이 사전 학습, 포스트 트레이닝, 도메인 및 작업 특화를 포함한 모델 훈련의 모든 단계에서 상당한 가치를 제공할 수 있다는 점입니다. 비구조화된 콘텐츠를 사용하여 주어진 명세에 따라 다양하고 고품질의 인스트럭션 데이터를 생성할 수 있는 능력은 모델 맞춤화와 지속적인 개선을 위한 반자동 파이프라인을 구축할 수 있는 길을 열어줍니다. 특히 도메인 특화 모델을 개발하거나 새로운 기술을 가르치는 데 있어서, 해당 도메인의 원시 데이터만 있으면 자동으로 대규모의 고품질 훈련 데이터를 생성할 수 있다는 점은 매우 실용적인 가치를 제공합니다. 그러나 연구팀은 확장성, 정확성, 비용, 편향, 검증, 시드 데이터 의존성 등 여러 한계점을 인식하고 있으며, 이러한 문제들을 해결하기 위한 추가 연구가 필요함을 강조합니다. +- - - +# AgentInstruct: 에이전틱 플로우를 활용한 생성적 교육 + +## 초록 + +합성 데이터는 대규모 언어 모델과 소규모 언어 모델 모두의 개발을 가속화하는 데 있어 점점 더 중요한 역할을 하고 있습니다. 여러 성공적인 활용 사례가 있음에도 불구하고, 연구자들은 모델 붕괴(model collapse) 현상과 다른 모델을 모방하는 것의 한계에 대한 우려를 제기해왔습니다. 이러한 불일치는 합성 데이터의 품질과 다양성이 매우 다양하다는 사실에서 비롯됩니다. 효과적인 합성 데이터 활용은 일반적으로 데이터를 큐레이션하는 데 상당한 인간의 노력을 필요로 합니다. + +본 연구는 포스트 트레이닝(post-training)을 위한 합성 데이터 사용에 초점을 맞추고 있으며, 특히 강력한 모델이 생성한 데이터를 사용하여 다른 모델에게 새로운 기술이나 행동을 가르치는 설정을 다룹니다. 이러한 설정을 생성적 교육(Generative Teaching)이라고 명명합니다. 본 논문에서는 대량의 다양하고 고품질의 합성 데이터를 자동으로 생성하기 위한 확장 가능한 에이전틱 프레임워크인 AgentInstruct를 소개합니다. AgentInstruct는 텍스트 문서와 코드 파일과 같은 원시 데이터 소스만을 시드로 사용하여 프롬프트와 응답을 모두 생성할 수 있습니다. + +AgentInstruct의 유용성을 입증하기 위해, 텍스트 편집, 창의적 글쓰기, 도구 사용, 코딩, 독해 등 다양한 기술을 가르치기 위한 2,500만 쌍의 포스트 트레이닝 데이터셋을 생성했습니다. 이 데이터셋은 모든 기본 모델의 인스트럭션 튜닝에 사용될 수 있습니다. Mistral-7b를 이 데이터로 포스트 트레이닝한 결과 모델(Orca-3)을 동일한 기본 모델을 사용하는 Mistral-7b-Instruct와 비교했을 때, 여러 벤치마크에서 상당한 개선을 관찰할 수 있었습니다. 예를 들어, AGIEval에서 40%, MMLU에서 19%, GSM8K에서 54%, BBH에서 38%, AlpacaEval에서 45%의 성능 향상을 보였습니다. 또한 LLAMA-8B-instruct 및 GPT-3.5-turbo와 같은 다른 모델들을 지속적으로 능가하는 성능을 보여주었습니다. + +![AgentInstruct 데이터를 사용한 Mistral-7B 포스트 트레이닝의 효과](/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/0.png) + +위 그래프는 AgentInstruct로 생성된 데이터를 사용하여 Mistral-7B를 포스트 트레이닝한 결과를 보여줍니다. AGIEval에서 40.2%, MMLU에서 19.4%, BBH에서 38.3%, GSM8K에서 53.7%, AlpacaEval에서 45.0%, FoFo에서 38.3%, MIRAGE-RAG에서 70%의 성능 향상을 달성했습니다. 이러한 결과는 AgentInstruct가 생성한 합성 데이터가 언어 모델의 다양한 능력을 효과적으로 향상시킬 수 있음을 명확하게 보여줍니다. + +## 서론 + +### 합성 데이터가 대규모 언어 모델 발전을 가속화하다 + +지난 한 해 동안 합성 데이터의 부상은 대규모 언어 모델(LLM) 훈련에서 중요한 발전을 이루었습니다. 합성 데이터는 사전 학습(pre-training)부터 인스트럭션 튜닝(instruction-tuning), 그리고 인간 피드백을 통한 강화 학습(RLHF)에 이르기까지 모든 훈련 단계에서 모델 훈련의 진전을 크게 가속화하는 데 사용되었습니다. 특히 소규모 언어 모델(SLM)의 발전에서 두드러진 성과를 보였습니다. [Phi-3 기술 보고서](https://arxiv.org/pdf/2404.14219)에서는 고품질 합성 데이터를 활용하여 작은 모델이 훨씬 큰 모델과 경쟁할 수 있는 성능을 달성할 수 있음을 보여주었습니다. + +### 고품질 합성 데이터 생성의 어려움 + +그러나 다른 한편으로는, 다른 모델이 생성한 합성 데이터로 모델을 사전 학습하면 모델 붕괴(model collapse)로 이어질 수 있다는 연구 결과도 있습니다. [모델 붕괴 연구](https://arxiv.org/pdf/2305.17493)에서는 생성된 데이터로 반복적으로 훈련할 경우 모델이 점진적으로 퇴화될 수 있음을 보여주었습니다. 포스트 트레이닝을 위한 합성 데이터 사용에 대해서도 유사한 주장이 제기되었는데, [모방의 한계에 관한 연구](https://arxiv.org/pdf/2305.15717)에서는 이것이 훈련된 모델이 실제 능력이 아닌 문체적 특성만을 학습하게 만드는 모방 과정에 불과할 수 있다고 지적했습니다. + +이러한 불일치는 고품질이고 다양한 합성 데이터를 생성하는 것이 어렵다는 관찰로 설명될 수 있습니다. 합성 데이터의 성공적인 활용 사례들을 살펴보면, 높은 품질을 보장하기 위해 데이터를 큐레이션하고 필터링하는 데 상당한 인간의 노력이 투입되었음을 알 수 있습니다. 포스트 트레이닝 합성 데이터에 초점을 맞추면, 가장 널리 사용되는 접근법은 프롬프트 세트로 시작하여 GPT-4와 같은 강력한 모델을 사용하여 이러한 프롬프트에 대한 응답을 생성하거나 확장된 프롬프트 세트에 대한 응답을 생성하는 것입니다. [Instruction Tuning with GPT-4](https://arxiv.org/pdf/2304.03277) 연구에서는 이러한 기본적인 접근법을 제시했습니다. + +이 방법은 교사 모델로부터 설명이나 단계별 지침을 이끌어내거나, 더 복잡한 프롬프팅 기법을 사용하여 더 높은 품질의 답변을 이끌어냄으로써 더욱 개선되었습니다. [Orca 연구](https://arxiv.org/pdf/2306.02707)에서는 GPT-4로부터 복잡한 설명 추적을 추출하여 작은 모델의 추론 능력을 향상시키는 방법을 보여주었고, [Orca 2 연구](https://arxiv.org/pdf/2311.11045)에서는 다양한 추론 전략을 가르치기 위한 설명 튜닝 접근법을 제시했습니다. + +### 합성 데이터와 에이전트의 만남 + +지난 한 해 동안 목격한 또 다른 주요 발전은 에이전틱(agentic) 워크플로우, 특히 멀티 에이전트 워크플로우의 부상입니다. [AutoGen 프레임워크](https://arxiv.org/pdf/2308.08155)는 대화 가능한 에이전트들을 통해 복잡한 작업을 해결하는 방법을 제시했습니다. 에이전틱 워크플로우는 반성(reflection)과 반복(iteration)을 통해 기본 LLM의 능력을 뛰어넘는 고품질 데이터를 생성할 수 있습니다. 에이전트들은 솔루션을 되돌아보고, 비평을 생성하며, 솔루션을 개선할 수 있습니다. 또한 검색 API, 계산기, 코드 인터프리터와 같은 도구를 사용하여 LLM의 한계를 해결할 수 있습니다. + +멀티 에이전트 워크플로우는 새로운 프롬프트와 해당 응답을 모두 생성할 수 있는 시나리오를 시뮬레이션할 수 있다는 추가적인 이점을 제공합니다. 또한 일부 작업에서 인간 개입의 필요성을 줄이거나 제거하여 데이터 생성 워크플로우의 자동화를 가능하게 합니다. 이러한 자동화는 대규모 데이터 생성을 가능하게 하며, 인간의 큐레이션 노력을 크게 줄일 수 있습니다. + +### 생성적 교육과 Orca AgentInstruct + +포스트 트레이닝을 위한 합성 데이터 생성은 종종 기존 프롬프트 세트에 의존하며, 이를 그대로 사용하거나 더 많은 인스트럭션을 생성하기 위한 시드로 사용합니다. 본 연구에서는 문제 설정을 더 넓은 목표로 일반화하여, 특정 기술을 AI 모델에게 가르치기 위해 풍부한 양의 다양하고 도전적이며 고품질의 데이터를 생성하는 것을 목표로 합니다. 이러한 설정을 생성적 교육(Generative Teaching)이라고 명명합니다. + +AgentInstruct는 생성적 교육을 위한 에이전틱 솔루션입니다. AgentInstruct는 시연(demonstration) 데이터와 피드백 데이터를 생성하는 데 초점을 맞추며, 원시 문서만을 입력으로 필요로 합니다. 일반적인 데이터를 시드로 사용할 때, AgentInstruct는 LLM에게 일반적인 능력(예: 수학, 추론, RAG 등)을 가르치는 데 사용될 수 있습니다. 도메인 특화 데이터(예: 게임, 금융)도 시드로 사용하여 특정 전문 분야에서 모델을 개선할 수 있습니다. + +AgentInstruct는 다음을 생성할 수 있습니다. + +첫째, 고품질 데이터를 생성합니다. GPT-4와 같은 강력한 모델과 검색 및 코드 인터프리터와 같은 도구를 결합하여 사용합니다. 이러한 조합은 단순히 LLM만 사용하는 것보다 훨씬 더 정확하고 신뢰할 수 있는 데이터를 생성할 수 있게 합니다. + +둘째, 다양한 데이터를 생성합니다. AgentInstruct는 프롬프트와 응답을 모두 생성합니다. 강력한 LLM, 도구, 반성 플로우를 갖춘 다수의 에이전트와 100개 이상의 하위 카테고리로 구성된 분류 체계를 사용하여 다양하고 고품질의 프롬프트와 응답을 생성합니다. 이러한 다양성은 모델이 특정 벤치마크에 과적합되는 것을 방지하고 더 일반화된 능력을 학습하도록 돕습니다. + +셋째, 대량의 데이터를 생성합니다. AgentInstruct는 자율적으로 실행될 수 있으며 검증 및 데이터 필터링을 위한 플로우를 적용할 수 있습니다. 시드 프롬프트가 필요하지 않으며 원시 문서를 시딩에 사용합니다. 원시 데이터(비구조화된 텍스트 문서 또는 소스 코드)를 시드로 사용하는 것은 두 가지 이점이 있습니다. 첫째, 이러한 데이터는 풍부하게 사용할 수 있어 AgentInstruct를 사용하여 대량의 다양한 데이터를 생성할 수 있습니다. 둘째, 기존 프롬프트를 그대로 사용하거나 패러프레이징한 후 사용하는 것을 피하고 원시 데이터를 시드로 사용함으로써, 벤치마크 특화 능력이 아닌 더 일반적인 능력을 학습하도록 촉진할 수 있습니다. + +### AgentInstruct의 실증적 검증 + +본 연구에서는 AgentInstruct의 유용성을 입증하기 위해 2,500만 개의 프롬프트-응답 쌍으로 구성된 포괄적인 합성 포스트 트레이닝 데이터셋을 생성했습니다. 이 데이터셋은 창의적 글쓰기, 추론, 수학, RAG, 도구 사용 등 광범위한 기술을 다룹니다. 데이터의 가치를 평가하기 위해 이를 사용하여 Mistral-7B 모델을 파인튜닝했습니다. 파인튜닝된 Mistral 모델(Orca-3)은 동일한 기본 모델을 사용하는 다른 인스트럭션 튜닝 모델들에 비해 상당한 개선을 보여줍니다. + +예를 들어, Mistral-Instruct-7B와 비교했을 때, AGIEval에서 40%, MMLU에서 19%, GSM8K에서 54%, BBH에서 38%, AlpacaEval에서 45%의 성능 향상을 보였으며, 여러 요약 벤치마크에서 환각(hallucination)이 31.34% 감소했습니다. 또한 LLAMA-8B-instruct 및 GPT-3.5와 같은 다른 모델들을 여러 벤치마크에서 능가합니다. 사용된 유일한 시드 데이터는 공개적으로 사용 가능한 원시 자료이며, 작업별 또는 벤치마크 데이터는 시드로 사용되지 않았다는 점에 주목할 필요가 있습니다. + +### AgentInstruct의 미래 가능성 + +본 연구에서는 일반적인 포스트 트레이닝 합성 데이터셋을 생성하여 AgentInstruct의 유용성을 입증했지만, 에이전트가 합성 데이터 생성을 서비스로 제공할 수 있다고 믿습니다. 원시 자료(일반 모델 훈련을 위한 웹 데이터 또는 전문 모델을 위한 도메인 특화 데이터)로 시작하여 포스트 트레이닝 및 파인튜닝을 위한 데이터를 생성함으로써, 모든 기본 LLM의 지속적인 학습과 개선을 가능하게 할 수 있습니다. + +또한 AgentInstruct 접근법은 다음 두 가지 이유로 더 크고 능력 있는 모델의 자기 개선(self-improvement)에 사용될 수 있다고 믿습니다. 첫째, 새로운 프롬프트를 생성할 수 있는 능력이 있습니다. 둘째, 도구, 반성 등의 사용으로 인해 에이전틱 플로우에 사용된 LLM의 품질을 초과하는 응답을 생성할 수 있는 능력이 있습니다. 이는 모델이 자신의 출력을 개선하고 더 복잡한 문제를 해결할 수 있는 새로운 가능성을 열어줍니다. +## 생성적 교육: AgentInstruct + +AgentInstruct 방법론은 합성 데이터 생성에서 직면하는 세 가지 근본적인 과제를 해결하기 위해 설계되었습니다. 첫째, 대량의 데이터를 어떻게 생성할 것인가의 문제입니다. 둘째, 생성된 데이터의 다양성을 어떻게 보장할 것인가의 문제입니다. 셋째, 복잡하거나 미묘한 차이가 있는 데이터 포인트를 어떻게 생성할 것인가의 문제입니다. 이러한 과제들을 체계적으로 해결하기 위해 AgentInstruct는 원시 시드 데이터로부터 시작하여 세 가지 주요 플로우를 통해 고품질의 인스트럭션-응답 쌍을 생성하는 구조화된 접근법을 제시합니다. + +![AgentInstruct 방법론의 간결한 요약](/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/2.png) + +위 그림은 AgentInstruct 방법론의 전체 구조를 보여줍니다. 방법론은 원시 시드의 수집으로 시작하여, 각 시드에 대해 콘텐츠 변환 플로우(Content Transformation Flow), 시드 인스트럭션 생성 플로우(Seed Instruction Creation Flow), 정제 플로우(Refinement Flow)를 순차적으로 적용하는 반복적 프로세스로 구성됩니다. 이러한 구조는 자동화된 에이전틱 플로우를 통해 대규모 데이터 생성을 가능하게 하며, 다양한 원시 시드를 활용하여 광범위한 커버리지를 확보하고, 반복적 정제 패턴을 통해 복잡도를 증가시킵니다. + +AgentInstruct는 원시 시드로 교과서 챕터, 웹 기사, 코드 스니펫과 같은 비구조화된 데이터를 사용합니다. 이러한 원시 데이터의 활용은 두 가지 핵심적인 이점을 제공합니다. 첫째, 원시 데이터는 풍부하게 사용 가능하므로 대량의 다양한 데이터를 생성할 수 있습니다. 둘째, 기존 프롬프트를 그대로 사용하거나 패러프레이징하는 것을 피하고 원시 데이터를 시드로 사용함으로써, 특정 벤치마크에 특화된 능력이 아닌 더 일반적인 능력을 학습하도록 촉진할 수 있습니다. + +에이전틱 플로우는 기본 LLM의 능력을 뛰어넘는 고품질 데이터를 생성할 수 있는 핵심 메커니즘입니다. 에이전트는 반성(reflection)과 반복(iteration)을 통해 솔루션을 되돌아보고, 비평을 생성하며, 솔루션을 개선할 수 있습니다. 또한 검색 API, 계산기, 코드 인터프리터와 같은 도구를 사용하여 LLM의 한계를 해결할 수 있습니다. AgentInstruct에서 에이전트는 LLM에 의해 구동되며 선택적으로 도구를 사용할 수 있는 능력을 가진 개체로 정의됩니다. 각 에이전트는 기본 LLM 시스템 메시지의 일부로 지정된 특정 역할과 인스트럭션 세트를 가지고 있습니다. + +![에이전트 그룹의 역할에 대한 주제별 개요](/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/3.png) + +위 그림은 서로 다른 에이전트 그룹이 수행하는 역할의 주제별 개요를 제공합니다. Content Transformation Flow는 시드를 고품질의 다양한 데이터를 생성하기 쉽게 만드는 중간 표현으로 변환합니다. Seed Instruction Generation Flow는 분류 체계를 따라 대상 작업의 인스턴스를 생성합니다. Refinement Flow는 이러한 초기 데이터 포인트에서 시작하여 주변 영역을 탐색합니다. 무작위 시드를 선택함으로써 전체 데이터 포인트 영역을 커버할 수 있을 것으로 기대됩니다. + +AgentInstruct는 독해(reading comprehension), 질문 응답(question answering), 코딩(coding), 검색 증강 생성(retrieval augmented generation), 창의적 글쓰기(creative writing), 도구/API 사용(tool/API use), 웹 제어(Web control)를 포함하여 17가지 서로 다른 기술에 대해 이러한 플로우를 구현했습니다. 각 기술은 여러 하위 카테고리를 가지고 있습니다. + +| 기술 카테고리 | 설명 | +|------------|------| +| Reading Comprehension | 작성된 텍스트를 이해하고 처리하며 해석하는 능력 | +| Question Answering | 주어진 질문에 대해 정확하고 관련성 있는 답변을 제공하는 능력 | +| Coding | 프로그래밍 언어를 사용하여 소프트웨어를 작성하고 디버깅하는 능력 | +| Retrieval Augmented Generation | 외부 지식 소스를 검색하여 응답 생성을 향상시키는 능력 | +| Creative Writing | 독창적이고 상상력 있는 텍스트 콘텐츠를 생성하는 능력 | +| Tool/API Use | 함수나 API를 활용하여 작업을 수행하거나 문제를 해결하는 능력 | +| Web Control | 웹 인터페이스를 탐색하고 상호작용하는 능력 | +| Text Modification | 다양한 목적에 맞게 텍스트를 변경하는 프로세스 | +| Mathematical Reasoning | 수학적 문제를 해결하고 논리적 추론을 수행하는 능력 | +| Data Analysis | 데이터를 검사하고 해석하여 인사이트를 도출하는 능력 | +| Summarization | 긴 텍스트의 핵심 내용을 간결하게 요약하는 능력 | +| Translation | 한 언어에서 다른 언어로 텍스트를 변환하는 능력 | +| Classification | 데이터를 사전 정의된 카테고리로 분류하는 능력 | +| Information Extraction | 비구조화된 텍스트에서 구조화된 정보를 추출하는 능력 | +| Dialogue Generation | 자연스럽고 맥락에 맞는 대화를 생성하는 능력 | +| Instruction Following | 주어진 지시사항을 정확하게 이해하고 따르는 능력 | +| Format Following | 특정 형식이나 구조 요구사항을 준수하는 능력 | + +### 독해 능력을 위한 AgentInstruct 플로우 + +독해 능력을 위한 AgentInstruct 플로우는 원시 텍스트 문서를 다양한 형태의 독해 자료로 변환하고, 이를 바탕으로 광범위한 질문 유형을 생성하는 체계적인 프로세스를 구현합니다. Content Transformation Flow에서는 9개의 서로 다른 변환 에이전트가 사용됩니다. Argument Passage Generator는 원시 텍스트를 논증 구조를 가진 지문으로 변환하여 주장과 근거를 명확하게 제시합니다. Debate Passage Generator는 특정 주제에 대한 찬반 논쟁 형식의 지문을 생성합니다. Conversation Passage Generator는 대화 형식으로 정보를 전달하는 지문을 만들어냅니다. Meeting Transcript Generator는 회의록 스타일의 텍스트를 생성하여 여러 화자 간의 상호작용을 포함합니다. + +Poem Generator는 원시 내용을 시적 형식으로 변환하여 은유와 상징을 활용한 독해 자료를 제공합니다. Satirical Passage Generator는 풍자적 요소를 포함한 지문을 생성하여 비판적 독해 능력을 평가할 수 있게 합니다. Instructional Passage Generator는 단계별 지시사항이나 설명을 포함한 교육적 텍스트를 만듭니다. Long Text Generator는 장문의 복잡한 텍스트를 생성하여 지속적인 집중력과 이해력을 요구합니다. Identity Agent는 특정 관점이나 정체성을 가진 화자의 시각에서 텍스트를 재구성합니다. + +Seed Instruction Generation Flow에서는 43개의 서로 다른 질문 유형이 사용됩니다. 이러한 질문 유형은 여러 카테고리로 조직화되어 있습니다. 문자적 이해(Literal Comprehension) 카테고리에는 명시적으로 제시된 정보를 직접 찾는 질문들이 포함됩니다. 추론적 이해(Inferential Comprehension) 카테고리는 텍스트에 암시된 정보를 추론하는 질문들을 다룹니다. 비판적 분석(Critical Analysis) 카테고리는 저자의 의도, 편향, 논증의 강도를 평가하는 질문들을 포함합니다. + +논리적 추론(Logical Reasoning) 카테고리에는 특히 중요한 질문 유형들이 포함됩니다. Strengthening Questions는 주어진 논증을 강화할 수 있는 추가 증거나 전제를 식별하도록 요구합니다. Weakening Questions는 논증의 약점을 찾거나 반박할 수 있는 정보를 식별하는 능력을 평가합니다. Assumption Questions는 논증이 의존하고 있는 숨겨진 가정을 찾아내도록 합니다. Parallel Reasoning Questions는 유사한 논리 구조를 가진 다른 상황을 식별하는 능력을 테스트합니다. + +Refinement Flow에서는 Suggester-Editor 에이전트 쌍이 활용됩니다. Suggester 에이전트는 초기 인스트럭션의 복잡도를 증가시키기 위한 다양한 접근법을 제안합니다. 예를 들어, 단순한 사실 확인 질문을 다단계 추론이 필요한 질문으로 변환하거나, 여러 지문을 비교 분석해야 하는 질문으로 확장하거나, 모호한 표현을 포함하여 미묘한 해석 능력을 요구하는 질문으로 만들 수 있습니다. Editor 에이전트는 이러한 제안에 따라 실제로 인스트럭션을 수정하고 개선합니다. 이 과정은 반복적으로 수행되어 점진적으로 더 복잡하고 도전적인 독해 문제를 생성합니다. + +### 텍스트 수정을 위한 AgentInstruct 플로우 + +텍스트 수정 능력을 위한 AgentInstruct 플로우는 18개의 작업 유형을 다룹니다. Paraphrasing은 원본 텍스트의 의미를 유지하면서 다른 표현으로 재작성하는 작업입니다. Text Simplification은 복잡한 텍스트를 더 쉬운 어휘와 구조로 변환합니다. Expansion은 간결한 텍스트에 추가적인 세부사항과 설명을 더하여 확장합니다. Translation은 한 언어에서 다른 언어로 텍스트를 변환하는 작업을 포함합니다. + +Formatting은 텍스트의 구조와 레이아웃을 특정 형식에 맞게 조정합니다. Sentiment Modification은 텍스트의 감정적 톤을 변경하여 긍정적, 부정적, 또는 중립적으로 만듭니다. Annotation은 텍스트에 설명이나 주석을 추가하는 작업입니다. Keyword Replacement는 특정 키워드를 동의어나 관련 용어로 대체합니다. Removing은 불필요하거나 민감한 정보를 텍스트에서 제거합니다. + +Capitalization은 대소문자 규칙을 적용하거나 수정합니다. Styling은 텍스트의 문체를 특정 스타일(예: 공식적, 비공식적, 학술적)로 변환합니다. Content Rewriting은 텍스트의 내용을 특정 관점이나 목적에 맞게 재구성합니다. Data Normalization은 데이터 형식을 표준화하고 일관성을 확보합니다. Plagiarism Rewording은 표절을 피하면서 내용을 재작성합니다. + +Code Switching은 여러 언어를 혼합하여 사용하는 텍스트를 생성하거나 수정합니다. Text Obfuscation은 텍스트를 의도적으로 모호하게 만들거나 암호화합니다. Textual Entailment는 한 텍스트가 다른 텍스트를 논리적으로 함의하는지 판단하고 수정합니다. Vocabulary-Limited Rewriting은 제한된 어휘 세트만을 사용하여 텍스트를 재작성합니다. + +Content Transformation Flow에서는 원시 텍스트를 다양한 제약 조건이 있는 수정 작업으로 변환합니다. 예를 들어, 단순히 "이 텍스트를 패러프레이징하세요"라는 작업에서 시작하여, "이 텍스트를 초등학생이 이해할 수 있는 수준으로 패러프레이징하되, 핵심 전문 용어는 유지하세요"와 같이 여러 제약 조건을 추가할 수 있습니다. Seed Instruction Generation Flow는 이러한 18개 작업 유형에 대해 다양한 인스턴스를 생성합니다. + +Refinement Flow에서는 Suggester 에이전트가 초기 텍스트 수정 작업에 추가적인 제약 조건이나 복잡성을 제안합니다. 예를 들어, 길이 제한을 추가하거나, 특정 단어나 구문을 반드시 포함하거나 제외하도록 요구하거나, 여러 수정 작업을 동시에 수행하도록 요구할 수 있습니다. Editor 에이전트는 이러한 제안을 구현하여 점진적으로 더 복잡하고 현실적인 텍스트 수정 작업을 생성합니다. 이러한 반복적 정제 과정을 통해 단순한 수정 작업이 다중 제약 조건을 만족해야 하는 복잡한 작업으로 진화합니다. + +### 도구 사용을 위한 AgentInstruct 플로우 + +도구 사용 능력을 위한 AgentInstruct 플로우는 소스 코드 스니펫이나 API 설명으로부터 시작합니다. Content Transformation Flow에서는 API 목록을 합성하는 두 가지 접근법이 사용됩니다. 첫 번째 접근법은 검색을 통한 방법으로, 실제 존재하는 API 문서를 검색하여 관련 API들의 목록을 구성합니다. 이 방법은 실제 사용 가능한 API를 기반으로 하므로 현실성이 높습니다. 두 번째 접근법은 가설적 생성 방법으로, 주어진 코드 스니펫이나 도메인 설명을 바탕으로 필요할 것으로 예상되는 API를 가상으로 생성합니다. 이 방법은 더 창의적이고 다양한 시나리오를 만들 수 있습니다. + +Seed Instruction Generation Flow에서는 단일 API를 사용하는 작업부터 여러 API를 조합해야 하는 복잡한 작업까지 다양한 인스턴스를 생성합니다. 파라미터 완전성(parameter completeness)도 다양하게 설정됩니다. 일부 작업에서는 모든 필요한 파라미터가 명시적으로 제공되지만, 다른 작업에서는 사용자가 일부 파라미터를 추론하거나 기본값을 사용해야 합니다. 이러한 다양성은 실제 API 사용 시나리오의 복잡성을 반영합니다. + +단일 API 작업의 예시로는 "날씨 API를 사용하여 서울의 현재 기온을 조회하세요"와 같은 직접적인 요청이 있습니다. 다중 API 작업의 예시로는 "사용자의 현재 위치를 파악하고, 해당 위치의 날씨를 조회한 후, 날씨에 따라 적절한 활동을 추천하세요"와 같이 여러 API를 순차적으로 호출해야 하는 복잡한 시나리오가 있습니다. 이러한 작업은 위치 API, 날씨 API, 추천 API를 조합하여 사용해야 합니다. + +Refinement Flow에서는 다중 턴 대화의 복잡도를 증가시키는 데 초점을 맞춥니다. Suggester 에이전트는 초기 단일 턴 작업을 다중 턴 대화로 확장하는 방법을 제안합니다. 예를 들어, 사용자가 처음에는 불완전한 정보를 제공하고, 시스템이 추가 정보를 요청하며, 사용자가 점진적으로 정보를 제공하는 시나리오를 만들 수 있습니다. 또한 사용자가 중간에 요구사항을 변경하거나, 이전 결과에 대한 수정을 요청하는 상황을 추가할 수 있습니다. + +Editor 에이전트는 이러한 제안을 구현하여 실제 대화 흐름을 생성합니다. 예를 들어, "레스토랑 예약 API를 사용하여 저녁 식사 예약을 하세요"라는 단순한 작업이 다음과 같은 다중 턴 대화로 확장될 수 있습니다. 첫 번째 턴에서 사용자는 "오늘 저녁 레스토랑 예약하고 싶어요"라고 요청합니다. 시스템은 "몇 시에, 몇 명이서 식사하실 예정인가요?"라고 추가 정보를 요청합니다. 사용자는 "7시에 4명이요"라고 답변합니다. 시스템은 가능한 레스토랑 목록을 제공하고, 사용자는 특정 레스토랑을 선택합니다. 이후 사용자가 "아, 시간을 7시 30분으로 변경할 수 있을까요?"라고 수정을 요청하는 등의 복잡한 상호작용이 이어집니다. + +이러한 반복적 정제 과정을 통해 단순한 API 호출 작업이 실제 사용자 상호작용의 복잡성과 불확실성을 반영하는 현실적인 시나리오로 진화합니다. 파라미터 누락, 모호한 요청, 중간 수정, 오류 처리 등 실제 API 사용에서 발생할 수 있는 다양한 상황이 포함됩니다. +## AgentInstruct 플로우의 기술적 구현: 독해 능력 사례 연구 + +AgentInstruct는 독해 능력(Reading Comprehension)을 가르치기 위해 세 가지 핵심 플로우를 체계적으로 구현합니다. 독해 능력은 텍스트를 처리하고 이해하는 중요한 기술로서, 명시적 정보 파악부터 추론, 맥락 속 어휘 이해, 텍스트 구조 분석, 비판적 평가, 정보 종합에 이르기까지 다양한 수준의 이해를 요구합니다. 이러한 복잡한 능력을 가르치기 위해 AgentInstruct는 원시 웹 크롤링 데이터를 체계적으로 변환하고, 다양한 질문 유형을 생성하며, 반복적 정제를 통해 복잡도를 증가시키는 알고리즘적 접근법을 사용합니다. + +### Content Transformation Flow의 알고리즘적 설계 + +Content Transformation Flow는 임의의 웹 기사를 독해 평가에 적합한 구조화된 지문으로 변환하는 핵심 메커니즘입니다. 웹 크롤링 데이터는 방대한 인간 생성 텍스트를 포함하지만, 본질적으로 독해 교육에 적합한 구조를 갖추고 있지 않습니다. 특히 LSAT 논리적 추론 시험과 같은 전문화된 평가는 가정(assumption), 강화/약화(strengthening/weakening), 결함(flaw), 추론(inference) 질문과 같은 특수한 질문 카테고리를 포함하며, 이러한 질문을 생성하려면 특정한 문체와 논리적 프레임워크를 가진 지문이 필요합니다. + +이 플로우는 9개의 전문화된 변환 에이전트를 포함하며, 각 에이전트는 특정 유형의 독해 자료를 생성하도록 설계되었습니다. 주어진 시드 기사에 대해, 플로우는 무작위로 하나의 변환 에이전트를 선택하여 시드 기사를 평가하고 텍스트 지문을 생성하려고 시도합니다. 이러한 무작위 선택 메커니즘은 생성되는 데이터의 다양성을 보장하며, 각 시드 기사가 서로 다른 형태의 독해 자료로 변환될 수 있게 합니다. + +구체적인 변환 과정을 살펴보기 위해 Argument Passage Generator의 작동을 분석해보겠습니다. 이 에이전트는 원시 텍스트를 논증 구조를 가진 지문으로 변환합니다. 다음은 실제 변환 예시입니다. + +**원시 시드 (Random Seed):** +요산(Uric acid)은 퓨린(purine, 식이 단백질의 일종)의 분해에 의해 자연적으로 생성되는 물질입니다. 체내에 과도하게 존재할 때, 이러한 물질로 구성된 결정이 형성됩니다. 이 결정들은 주로 관절과 신장을 포함한 신체의 다양한 부위에 침착되어 통증과 다른 악화를 유발합니다. 체내 요산의 부족 또는 과잉은 일부 질병(백혈병, 비만, 신장 질환, 빈혈 등)과 생활 방식 관련 요인(알코올 및 가공 식품 섭취 등)에 의해 발생합니다. + +**변환된 시드 (Transformed Seed - Argument Passage Generator):** +최근 연구들은 혈중 요산 수치가 높은 상태인 고요산혈증(hyperuricemia)이 심혈관 질환의 위험을 증가시킬 수 있다고 지적했습니다. 요산은 퓨린 대사의 부산물이며, 체내에서 자연적으로 생성되지만 과도한 양은 건강 합병증을 유발할 수 있습니다. 고요산혈증은 일반적으로 여성의 경우 6 mg/dL 이상, 남성의 경우 7 mg/dL 이상의 수치로 정의됩니다. 이 상태는 요산의 생성 증가 또는 소변을 통한 불충분한 배출로 인해 발생할 수 있습니다. 높은 요산을 유발하는 요인으로는 붉은 고기와 해산물에서 발견되는 퓨린이 풍부한 식단, 알코올 섭취 및 신체 활동 부족과 같은 생활 방식 선택이 포함됩니다. 반대로, 낮은 요산 수치인 저요산혈증(hypouricemia)은 덜 흔하며 일반적으로 증상을 나타내지 않습니다. 그럼에도 불구하고, 이는 기저 신장 또는 간 문제를 나타낼 수 있습니다. 두 상태 모두 진단하려면 실험실 혈액 및 소변 검사가 필요합니다. 높은 요산 수치가 심혈관 질환의 위험 증가와 관련이 있지만, 인과 관계는 아직 결정적으로 확립되지 않았다는 점에 주목하는 것이 중요합니다. + +이 변환 과정의 기술적 핵심은 원시 정보를 논증 구조로 재구성하는 것입니다. 변환된 지문은 명확한 주장("고요산혈증이 심혈관 질환 위험을 증가시킬 수 있다"), 지지 증거(정의, 원인, 위험 요인), 그리고 중요한 한정 조건("인과 관계는 아직 결정적으로 확립되지 않았다")을 포함합니다. 이러한 구조는 강화/약화 질문, 가정 식별, 추론 평가와 같은 논리적 추론 질문을 생성하기에 이상적입니다. + +### Seed Instruction Generation Flow의 분류 체계 + +Seed Instruction Generation Flow는 43개의 독해 질문 유형을 포함하는 포괄적인 분류 체계를 구현합니다. 이 분류 체계는 문자적 이해(literal comprehension), 비판적 이해(critical comprehension), 평가적 이해(evaluative comprehension), 추론(reasoning), 가정 식별(identifying assumptions), 논증 강화/약화 정보 식별(identifying information that strengthens/weakens an argument), 사건 순서 정렬(ordering events) 등을 포함합니다. + +각 질문 유형에 대해 특화된 에이전트가 정의되어 있으며, 각 에이전트는 텍스트 조각을 입력으로 받아 사전 정의된 질문 유형에 기반한 질문 목록을 생성합니다. 오케스트레이션 프로세스는 이전 단계의 콘텐츠 변환 에이전트에 의해 결정된 에이전트의 하위 집합을 참여시킵니다. 예를 들어, Argument Passage Generator가 사용된 경우, 논리적 추론 관련 질문 생성 에이전트들이 우선적으로 선택됩니다. + +다음은 변환된 논증 지문으로부터 생성된 강화(Strengthen) 유형 질문의 예시입니다. + +**시드 인스트럭션 (Seed Instruction):** +다음 중 사실이라면, 높은 요산 수치가 심혈관 질환의 위험을 증가시킨다는 주장을 가장 강화하는 것은 무엇입니까? + +(A) 고요산혈증을 가진 일부 개인은 심혈관 질환이 발생하지 않습니다. +(B) 신체 활동은 혈중 요산 수치에 유의미한 영향을 미치지 않는 것으로 밝혀졌습니다. +(C) 식이 보충제는 혈중 요산 수치를 감소시키는 것으로 나타났습니다. +(D) 심혈관 질환을 가진 상당수의 환자가 고요산혈증에 대해 정의된 임계값 이상의 요산 수치를 가진 것으로 밝혀졌습니다. +(E) 심혈관 질환의 가족력이 있는 개인은 높은 요산 수치를 가질 가능성이 더 높습니다. + +이 질문은 논증 강화의 핵심 개념을 평가합니다. 정답 (D)는 심혈관 질환 환자들 사이에서 높은 요산 수치의 유병률을 보여줌으로써 두 변수 간의 연관성을 강화합니다. 오답 선택지들은 각각 다른 논리적 함정을 포함합니다. (A)는 예외 사례를 제시하여 실제로 주장을 약화시키고, (B)는 관련 없는 정보를 제공하며, (C)는 치료 가능성을 언급하지만 인과 관계를 강화하지 않고, (E)는 유전적 요인을 언급하지만 직접적인 인과 관계를 확립하지 않습니다. + +### Refinement Flow의 복잡도 증가 메커니즘 + +Refinement Flow는 여러 Suggester-Editor 에이전트 쌍을 포함하며, 각 (지문, 질문) 쌍을 검토하여 다음 목표를 가진 추가 쌍을 생성합니다. (1) 질문을 답변 불가능하게 만들기 위해 지문을 수정, (2) 가능한 경우 답변을 반대 방향으로 변경하기 위해 지문을 수정, (3) 질문이나 답변 선택지를 더 복잡하게 만들기 위해 수정. + +다음은 Suggester 에이전트가 혼란스러운 오답 선택지를 추가하려고 시도하는 예시입니다. + +**정제 플로우 (Refinement Flow):** + +**SUGGESTER 제안:** +• 제안 1: 주장을 잠재적으로 강화할 수 있는 가설적 연구나 발견을 도입하여, 응시자가 요산 수치와 심혈관 질환 간의 관계에 미치는 영향을 추론하도록 요구합니다. +• 제안 2: 고요산혈증에 대한 유전적 소인과 심혈관 사건 증가와의 상관관계를 제안하여 복잡성의 층을 추가하며, 이는 응시자가 유전적 및 생리학적 요인을 모두 고려하도록 요구합니다. +• 제안 3: 주장을 강화하는 것처럼 보이지만 자세히 검토하면 요산 수치와 심혈관 질환 간의 인과 관계와 직접적으로 관련이 없는 오답 선택지를 포함하여, 응시자가 관련 정보와 무관한 정보를 구별하는 능력을 테스트합니다. + +**EDITOR 수정:** +• 수정 1, 2 (간결성을 위해 생략) +• 수정 3: 다음 중 사실이라면, 높은 요산 수치가 심혈관 질환의 위험을 증가시킨다는 주장을 가장 강화하는 것은 무엇입니까? + +(A) 고요산혈증을 가진 일부 개인은 심혈관 질환이 발생하지 않습니다. +(B) 신체 활동은 혈중 요산 수치에 유의미한 영향을 미치지 않는 것으로 밝혀졌습니다. +(C) 위약 대조 시험에서 요산 저하 약물을 복용하는 개인이 위약 그룹에 비해 심혈관 질환 발생률이 감소하지 않는 것으로 나타났습니다. +(D) 심혈관 질환을 가진 상당수의 환자가 고요산혈증에 대해 정의된 임계값 이상의 요산 수치를 가진 것으로 밝혀졌습니다. +(E) 횡단면 연구에서 높은 요산 수치가 고혈압 및 당뇨병과 같은 심혈관 질환의 다른 위험 요인과 관련이 있지만, 직접적인 인과 관계를 확립하지는 않는 것으로 밝혀졌습니다. + +이 정제 과정은 질문의 복잡도를 크게 증가시킵니다. 새로운 선택지 (C)는 교묘한 오답으로, 요산 저하 약물이 심혈관 질환을 감소시키지 않는다는 사실이 실제로 주장을 약화시킨다는 점을 인식해야 합니다. 선택지 (E)는 또 다른 정교한 오답으로, 연관성을 보여주지만 인과 관계를 확립하지 않으므로 주장을 강화하지 않습니다. 이러한 정제는 응시자가 단순한 연관성과 인과 관계를 구별하고, 논증 강화와 약화의 미묘한 차이를 이해하도록 요구합니다. + +### 다른 능력 카테고리로의 일반화 원리 + +AgentInstruct는 독해 능력에 대해 구현된 세 가지 플로우 구조를 17개의 서로 다른 기술 카테고리로 일반화합니다. 각 카테고리는 고유한 Content Transformation 에이전트, Seed Instruction 생성 분류 체계, 그리고 Refinement 전략을 가지고 있지만, 기본 알고리즘적 구조는 동일합니다. + +텍스트 수정(Text Modification) 능력의 경우, Content Transformation Flow는 원시 텍스트를 다양한 제약 조건이 있는 수정 작업으로 변환합니다. 18개의 작업 유형(패러프레이징, 단순화, 확장, 번역, 형식 지정, 감정 수정, 주석 달기, 키워드 교체, 제거, 대문자 표기, 스타일링, 콘텐츠 재작성, 데이터 정규화, 표절 재작성, 코드 전환, 텍스트 난독화, 텍스트 함의, 어휘 제한 재작성)이 정의되어 있으며, 각 유형에 대해 전문화된 에이전트가 구현되어 있습니다. + +도구 사용(Tool Use) 능력의 경우, Content Transformation Flow는 소스 코드 스니펫이나 API 설명으로부터 시작하여 API 목록을 합성합니다. 두 가지 접근법이 사용됩니다. (1) 검색을 통한 방법으로 실제 존재하는 API 문서를 검색하여 관련 API 목록을 구성하거나, (2) 가설적 생성 방법으로 주어진 코드나 도메인 설명을 바탕으로 필요할 것으로 예상되는 API를 가상으로 생성합니다. Seed Instruction Generation Flow는 단일 API 사용부터 여러 API 조합까지 다양한 복잡도의 작업을 생성하며, Refinement Flow는 다중 턴 대화의 복잡도를 증가시킵니다. + +이러한 일반화 가능한 구조는 AgentInstruct가 새로운 기술 카테고리로 확장될 수 있게 하며, 각 카테고리에 대해 대량의 다양하고 복잡한 합성 데이터를 자동으로 생성할 수 있게 합니다. 핵심 설계 원리는 원시 데이터로부터 시작하여, 체계적인 변환을 통해 교육에 적합한 형태로 만들고, 분류 체계를 따라 다양한 인스턴스를 생성하며, 반복적 정제를 통해 복잡도를 증가시키는 것입니다. +## AgentInstruct 플로우의 기술적 구현: 텍스트 수정 능력 사례 연구 + +텍스트 수정(Text Modification)은 작성된 콘텐츠를 편집하고 정제하여 품질과 효과성을 향상시키거나 속성을 변경하는 프로세스입니다. 이는 맞춤법과 문법 교정, 아이디어 명확화, 더 나은 흐름을 위한 콘텐츠 재구성, 톤 조정, 스타일 일관성 확보, 사실 확인, 중복 제거, 형식 지정, 콘텐츠 개발, 특정 청중에 대한 적응을 포함합니다. 이는 콘텐츠 작성을 돕는 대규모 언어 모델에게 유용한 기술입니다. 여러 콘텐츠 변환 에이전트를 도입하여 의도적으로 텍스트를 수정할 수 있지만, 여기서는 인스트럭션이 어떻게 생성되고 정제되는지를 보여주는 데 초점을 맞춥니다. + +### 시드 인스트럭션 생성 플로우: 18개 작업 유형과 다양성 확보 + +AgentInstruct는 현재 패러프레이징(paraphrasing), 확장(expansion), 단순화(simplification), 콘텐츠 삭제 또는 제거(redacting or removing content), 스타일링(styling), 코드 전환(code switching) 등을 포함하여 18가지 유형의 텍스트 수정 작업 컬렉션을 컴파일했습니다. 전체 목록은 부록 A에 제시되어 있습니다. 각 작업 유형에 대해 에이전트가 정의되어 있으며, 각 에이전트는 텍스트 조각을 입력으로 받아 해당 유형의 여러 텍스트 수정 작업을 생성합니다. + +다음은 Paraphrasing Agent가 생성한 작업의 구체적인 예시입니다. + +**Random Seed (무작위 시드):** + +April 6-8, 2017, University of Iowa, Iowa City, USA. Abstracts due December 1, 2016. Finance is hard to escape. In recent years, the increasing social impact and interconnection of financial discourses, markets, actors, and institutions have been understood under the broad concept of financialization. Natascha van der Zwan identifies three distinct research streams that have approached financialization as 1) a regime of accumulation, 2) the influence of financial markets and instruments on non-financial corporations as well as the banking and finance industry, and 3) a discourse of risk-taking, self-management and self-fulfillment that is transforming people into investing subjects. Some anthropological skeptics, however, argue that finance has a far longer genealogy than the financialization literature has to date recognized. For example, in the context of a lengthy human history of creating hierarchy, financialization may simply be a new technology serving an old purpose. ... (간결성을 위해 생략)... The supply chains of financial products connect different places and political projects across the globe. How do such financial instruments transform social life? Abstract deadline is December 1, 2016. 1. Go to americananthro.org and log in. If you don't have a login id and password, create one (you do not need to join the American Anthropological Association). 2. Once you are logged in, look to the left hand column, click on Meeting registration. 3. Click on register under the SEA 2017 Annual Meeting then follow online prompts to register for the meeting (if we do not accept your abstract and you decide not to attend, you may request that your registration fee be refunded and we would be happy to do so). 4. Once you are registered, AAA will automatically send you an email inviting you to submit an abstract. Click the link and follow the instructions. + +**생성된 작업 (Task):** + +Rewrite the event details (date, location, abstract deadline) in a more casual tone. + +이 예시는 시드 인스트럭션 생성 플로우의 핵심 메커니즘을 보여줍니다. 무작위 시드가 주어지면, 플로우는 18개 에이전트 중 하나를 무작위로 선택하여 (텍스트, 텍스트 수정 인스트럭션) 쌍을 얻습니다. 이 경우 Paraphrasing Agent가 선택되었으며, 원본 텍스트에서 이벤트 세부사항(날짜, 위치, 초록 마감일)을 추출하여 이를 더 캐주얼한 톤으로 재작성하라는 작업을 생성했습니다. 이러한 무작위 선택 메커니즘은 생성되는 데이터의 다양성을 보장하는 핵심 전략입니다. + +### 인스트럭션 정제 플로우: Suggester-Editor 쌍을 통한 복잡도 증가 + +정제 플로우(Refinement Flow)는 단 하나의 Suggester-Editor 쌍으로 구성됩니다. Suggester-Editor 듀오는 텍스트와 작업 수정 인스트럭션을 입력으로 받아 생성된 인스트럭션의 복잡도를 증가시킵니다. 다음은 Suggester-Editor 쌍이 제안한 세 가지 제안과 편집을 보여줍니다. + +**제안들 (Suggestions):** + +**Suggestion 1:** Incorporate a fictional narrative. Use a conversational style with colloquial language and include a humorous element. + +**Suggestion 2:** Translate the event details into a poetic format. Maintain accurate information while using rhyming couplets and ensure the tone remains light and engaging. + +**Suggestion 3:** Frame the event details as a social media post. Use internet slang and emojis. Keep the message within 280 characters. + +**수정된 인스트럭션들 (Modified Instructions):** + +**Instruction 1:** Rewrite the event details (date, location, abstract deadline) as if you're telling a funny story to a friend using casual and colloquial language, while incorporating a fictional narrative that still conveys the necessary information. + +**Instruction 2:** Transform the event details (date, location, abstract deadline) into a light-hearted poem with rhyming couplets, ensuring that the essential information is accurately conveyed in a poetic format. + +**Instruction 3:** Craft a social media post that includes the event details (date, location, abstract deadline) using internet slang, emojis, and a casual tone, while keeping the message concise and within 280 characters. + +이 정제 과정의 기술적 핵심은 각 제안이 서로 다른 차원에서 복잡도를 증가시킨다는 점입니다. Suggestion 1은 허구적 내러티브를 통합하고 유머 요소를 추가하여 창의성과 스토리텔링 능력을 요구합니다. Suggestion 2는 시적 형식과 운율을 요구하면서도 정확한 정보 전달을 유지해야 하는 이중 제약을 부과합니다. Suggestion 3은 길이 제한(280자)과 특정 스타일(인터넷 슬랭, 이모지)을 동시에 만족해야 하는 다중 제약 조건을 설정합니다. + +Editor 에이전트는 이러한 제안을 구체적인 수정된 인스트럭션으로 변환합니다. 각 수정된 인스트럭션은 원래의 단순한 작업("더 캐주얼한 톤으로 재작성")에 추가적인 제약 조건과 요구사항을 명시적으로 통합합니다. Instruction 1은 "친구에게 재미있는 이야기를 하듯이", "캐주얼하고 구어체적인 언어", "허구적 내러티브를 통합하면서도 필요한 정보 전달"이라는 세 가지 차원의 제약을 명확하게 명시합니다. Instruction 2는 "경쾌한 시", "운율이 맞는 2행시", "필수 정보의 정확한 전달", "시적 형식"이라는 네 가지 요구사항을 구체화합니다. Instruction 3은 "소셜 미디어 게시물", "인터넷 슬랭", "이모지", "캐주얼한 톤", "280자 이내"라는 다섯 가지 제약을 명시합니다. + +이러한 정제 메커니즘은 단순한 텍스트 수정 작업을 점진적으로 더 복잡하고 현실적인 시나리오로 진화시킵니다. 실제 콘텐츠 작성 상황에서는 단순히 "톤을 바꾸세요"라는 요청보다는 "특정 청중을 위해, 특정 형식으로, 특정 길이 제한 내에서, 특정 스타일 요소를 포함하여 톤을 바꾸세요"와 같은 다중 제약 조건이 있는 요청이 훨씬 더 일반적입니다. AgentInstruct의 정제 플로우는 이러한 현실적 복잡성을 체계적으로 생성합니다. + +### 텍스트 수정 플로우의 확장성과 자동화 + +텍스트 수정을 위한 AgentInstruct 플로우는 높은 확장성과 자동화 가능성을 가지고 있습니다. 18개의 서로 다른 작업 유형 각각에 대해 전문화된 에이전트가 구현되어 있으며, 각 에이전트는 독립적으로 작동하면서도 일관된 출력 형식을 생성합니다. 무작위 시드 선택과 무작위 에이전트 선택의 조합은 방대한 양의 다양한 데이터를 자동으로 생성할 수 있게 합니다. + +Suggester-Editor 쌍의 반복적 적용을 통해 복잡도를 점진적으로 증가시킬 수 있습니다. 한 번의 정제 사이클에서 생성된 수정된 인스트럭션을 다시 정제 플로우에 입력하면, 더욱 복잡한 제약 조건이 추가될 수 있습니다. 예를 들어, Instruction 3("280자 이내의 소셜 미디어 게시물")을 다시 정제하면 "특정 해시태그를 포함해야 함", "특정 단어를 반드시 사용해야 함", "특정 감정을 전달해야 함"과 같은 추가 제약이 생성될 수 있습니다. + +이러한 자동화된 생성 및 정제 메커니즘은 인간의 큐레이션 노력을 크게 줄이면서도 고품질의 다양한 텍스트 수정 작업을 대량으로 생성할 수 있게 합니다. 원시 텍스트 문서만 있으면 시드로 사용할 수 있으며, 18개 작업 유형과 다중 정제 사이클의 조합을 통해 수백만 개의 고유한 텍스트 수정 작업을 생성할 수 있습니다. 이는 언어 모델이 실제 콘텐츠 작성 시나리오에서 마주칠 수 있는 다양한 텍스트 수정 요구사항을 학습할 수 있게 합니다. +## 도구 사용을 위한 AgentInstruct 플로우 + +도구 사용(Tool Use) 또는 API 사용은 대규모 언어 모델이 외부 도구나 서비스와 API를 통해 상호작용할 수 있도록 하는 작업입니다. 이러한 능력은 AI 시스템이 기능을 확장하고, 외부 데이터에 접근하며, 본래의 능력을 넘어서는 작업을 수행할 수 있게 합니다. AgentInstruct는 소스 코드 스니펫이나 API 설명을 무작위 시드로 사용하여 도구 사용 능력을 가르치기 위한 합성 데이터를 생성합니다. + +## Content Transformation Flow: API 목록 합성 + +Content Transformation Flow는 소스 코드 스니펫이나 API 설명으로부터 API 목록을 합성하는 역할을 담당합니다. 소스 코드 스니펫이 시드로 사용된 경우, 콘텐츠 변환 에이전트가 코드 스니펫으로부터 API 설명을 합성합니다. 이 플로우의 목표는 무작위 시드로부터 API 목록을 합성하는 것입니다. + +API 목록은 두 가지 방법으로 생성됩니다. 첫 번째는 API 검색 에이전트를 사용하여 유사한 코드를 반복적으로 검색하여 API 목록을 확장하는 방법입니다. 두 번째는 에이전트가 LLM을 사용하여 라이브러리에 존재할 것으로 예상되는 다른 API를 가설적으로 생성하는 방법입니다. + +![라이브러리 재구성 시나리오의 예시](/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/10.png) + +위 그림은 라이브러리 재구성 시나리오의 예시를 제공합니다. 이 예시는 초기 시드 코드로부터 시작하여 관련 API들을 점진적으로 발견하고 확장하는 과정을 보여줍니다. 검색 기반 접근법은 실제 존재하는 API 문서를 활용하여 현실성을 높이며, 가설적 생성 접근법은 도메인 지식을 바탕으로 필요할 것으로 예상되는 API를 창의적으로 생성하여 다양한 시나리오를 만들어냅니다. + +## Seed Instruction Creation Flow: 다양한 API 사용 작업 생성 + +Seed Instruction Creation Flow는 API 목록을 입력으로 받아 다양한 에이전트를 활용하여 여러 유형의 작업을 생성합니다. 생성되는 작업 유형은 다음과 같이 체계적으로 분류됩니다. + +단일 API를 요구하는 작업에는 세 가지 변형이 있습니다. 첫 번째는 입력이 모든 필요한 파라미터를 제공하는 경우입니다. 두 번째는 입력이 불필요한 파라미터를 포함하는 경우로, 모델이 관련 파라미터를 식별하는 능력을 평가합니다. 세 번째는 입력이 일부 필수 파라미터를 누락한 경우로, 모델이 누락된 정보를 인식하고 적절히 처리하는 능력을 테스트합니다. + +여러 API를 필요로 하는 작업도 두 가지 변형으로 생성됩니다. 첫 번째는 입력이 모든 필요한 파라미터를 제공하는 경우이며, 두 번째는 입력이 일부 필수 파라미터를 누락한 경우입니다. 이러한 작업들은 모델이 여러 API를 순차적으로 또는 병렬적으로 조합하여 복잡한 목표를 달성하는 능력을 평가합니다. + +추가적으로, 제공된 API 목록에 없는 단일 API를 요구하는 작업과 여러 API를 필요로 하지만 필수 API 중 일부가 목록에 없는 작업도 생성됩니다. 이러한 작업들은 모델이 API의 부재를 인식하고 적절한 오류 처리나 대안 제시를 수행하는 능력을 평가합니다. + +## Refinement Flow: 다중 턴 대화의 복잡도 증가 + +Refinement Flow의 목표는 작업과 대화를 검토하여 복잡도를 증가시키는 것입니다. 특히 작업을 해결하는 데 필요한 단계 수를 증가시키기 위한 정제를 제안합니다. 이 플로우는 단순한 단일 턴 API 호출을 현실적인 다중 턴 대화로 진화시킵니다. + +![AgentInstruct 플로우가 생성한 다중 턴 대화의 예시](/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/11.png) + +위 그림은 AgentInstruct 플로우에 의해 생성된 다중 턴 대화의 예시를 제공합니다. 이 예시는 사용자가 점진적으로 정보를 제공하고, 시스템이 추가 정보를 요청하며, 사용자가 중간에 요구사항을 변경하는 등의 복잡한 상호작용을 보여줍니다. 이러한 다중 턴 시나리오는 실제 API 사용 환경의 불확실성과 동적 특성을 반영합니다. + +## 실제 생성된 인스트럭션 데이터의 구조 + +AgentInstruct가 생성한 도구 사용 인스트럭션 데이터는 시스템 메시지, API 목록, 사용자 요청으로 구성됩니다. 시스템 메시지는 AI 어시스턴트의 역할과 행동 규칙을 정의합니다. AI 어시스턴트는 사용자가 원하는 결과를 달성하도록 돕는 역할을 하며, 다양한 API를 활용할 수 있는 능력을 가지고 있습니다. 각 단계에서 마크다운 출력을 생성해야 하며, 두 가지 선택지가 있습니다. + +첫 번째 선택지는 API 호출을 시작하는 것입니다. API를 호출하기로 선택한 경우, API의 이름과 호출에 필요한 파라미터를 포함하는 마크다운을 생성해야 합니다. 마크다운 출력은 다음 구조를 따릅니다. + +``` +ACTION_TYPE : API_CALL +ACTION: name(parameter_name=value, another_parameter_name=value, ....) +``` + +API 호출 후에는 시스템이 제공된 파라미터로 API를 실행하고 결과를 반환할 때까지 대기해야 합니다. + +두 번째 선택지는 프로세스를 종료하는 것입니다. 프로세스를 종료하기로 결정하는 경우는 세 가지입니다. 첫째, 답변을 성공적으로 얻은 경우입니다. 둘째, 적절한 API가 사용 가능하지 않다고 판단한 경우입니다. 셋째, 사용자가 일부 필수 파라미터에 대한 값을 제공하지 않았음을 발견한 경우입니다. + +답변을 성공적으로 얻은 경우에는 FINAL_ANSWER를 액션 이름으로 사용하고 최종 답변을 유일한 파라미터로 제공합니다. 다른 이유로 중단하기로 결정한 경우에는 FAILED를 액션으로 사용하고 중단 이유를 설명하는 파라미터를 제공합니다. 전체 구조는 다음과 같습니다. + +``` +ACTION_TYPE : STOP +ACTION: [ACTION_NAME]([VALUE]) +``` + +시스템 메시지 하단에는 접근 가능한 API 목록이 제공됩니다. 이 목록은 앞서 설명한 라이브러리 구성 예시에서 시드와 생성된 API를 모두 포함합니다. + +사용자 요청 예시는 다음과 같습니다. + +"다음 주 동안 새로운 식단 계획을 시작하고 싶습니다. 제 목표는 하루에 약 1500칼로리를 섭취하는 것이며, 채식 식사를 선호합니다. 하루에 세 끼를 먹을 예정입니다. 저를 위한 식사 계획을 만들어 주실 수 있나요? 또한 매일 먹는 것을 추적하고 새로운 음식 추천을 받고 싶습니다. 주말에는 영양 요약을 보고 싶습니다. 아, 그리고 퀴노아 샐러드에 대한 훌륭한 레시피를 찾았는데 데이터베이스에 추가하고 싶습니다. 또한 'Chana Masala'의 칼로리 수치가 잘못된 것 같습니다. 더 낮아야 합니다. 그리고 'Butter Chicken'을 제 목록에서 제거해 주세요. 더 이상 먹지 않습니다." + +이 사용자 요청은 여러 복잡한 요소를 포함합니다. 첫째, 식사 계획 생성이라는 주요 작업이 있으며, 이는 칼로리 목표, 식사 선호도, 식사 횟수 등의 제약 조건을 포함합니다. 둘째, 일일 음식 추적과 추천이라는 지속적인 작업이 있습니다. 셋째, 주간 영양 요약이라는 보고 작업이 있습니다. 넷째, 새로운 레시피 추가라는 데이터베이스 수정 작업이 있습니다. 다섯째, 기존 항목의 칼로리 정보 수정이라는 업데이트 작업이 있습니다. 여섯째, 특정 항목 제거라는 삭제 작업이 있습니다. + +이러한 복잡한 요청은 모델이 여러 API를 식별하고, 적절한 순서로 호출하며, 파라미터를 올바르게 추출하고, 누락된 정보를 처리하는 능력을 종합적으로 평가합니다. 또한 다중 턴 대화를 통해 사용자와 상호작용하며 점진적으로 작업을 완료하는 능력도 테스트합니다. 이는 실제 API 사용 시나리오의 복잡성과 불확실성을 충실히 반영하는 고품질 합성 데이터입니다. +## Orca-3 + +Orca-3는 AgentInstruct 프레임워크를 통해 생성된 대규모 합성 데이터를 활용하여 Mistral-7b-v0.1 기본 모델을 파인튜닝한 결과물입니다. 이 모델은 약 2,580만 개의 인스트럭션-응답 쌍으로 훈련되었으며, 이 중 2,200만 개는 AgentInstruct를 통해 새롭게 생성된 데이터이고, 나머지 380만 개는 기존 Orca 시리즈 및 공개 데이터셋에서 가져온 데이터입니다. + +### 데이터셋 구성 + +Orca-3의 훈련 데이터는 두 가지 주요 구성 요소로 이루어져 있습니다. 첫 번째는 AgentInstruct를 통해 생성된 약 2,200만 개의 인스트럭션으로, 앞서 설명한 17가지 서로 다른 능력을 가르치기 위해 설계되었습니다. 이 데이터는 비구조화된 텍스트와 코드 파일을 시드로 사용하여 생성되었으며, 구체적으로는 KnowledgePile, AutoMathText, OpenStax의 일부, 그리고 Apache-2.0 라이선스가 적용된 소스 코드 파일의 일부가 활용되었습니다. + +비구조화된 콘텐츠를 시드로 사용하는 접근법은 여러 가지 중요한 이점을 제공합니다. 첫째, 이러한 원시 데이터는 풍부하게 사용 가능하므로 대규모의 다양한 인스트럭션 데이터를 생성할 수 있습니다. 둘째, 벤치마크 특화 데이터를 시드로 사용하지 않음으로써 특정 벤치마크에 대한 최적화가 아닌 일반적인 능력 향상에 집중할 수 있습니다. 이는 모델이 특정 평가 데이터셋에 과적합되는 것을 방지하고, 더 넓은 범위의 실제 작업에서 효과적으로 작동할 수 있도록 합니다. + +두 번째 구성 요소는 약 380만 개의 쌍으로 이루어진 데이터로, Orca-1, Orca-2, Orca-Math에서 가져온 데이터와 다른 공개 소스의 샘플을 포함합니다. 이 데이터셋은 Orca-2.5-dataset으로 명명되었으며, AgentInstruct가 생성한 2,200만 개의 인스트럭션과 결합되어 총 2,580만 개의 쌍으로 구성된 완전한 훈련 데이터셋을 형성합니다. + +연구팀은 AgentInstruct의 영향을 평가하기 위해 380만 개의 인스트럭션만을 사용하여 별도의 모델인 Orca-2.5를 훈련했습니다. 이 모델은 AgentInstruct를 통해 큐레이션된 2,200만 개의 인스트럭션이 가져오는 개선 효과를 비교 평가하기 위한 기준선 역할을 합니다. + +### 훈련 세부사항 + +Orca-3의 훈련은 Mistral-7b-v0.1 모델을 기반으로 진행되었습니다. 이 모델이 선택된 이유는 인스트럭션 튜닝이 적용되지 않은 기본 버전의 가중치가 공개적으로 사용 가능하며, 재배포를 허용하는 허용적 라이선스를 가지고 있기 때문입니다. 파인튜닝된 모델은 Orca-3로 명명되었습니다. + +데이터셋의 각 쌍은 Mistral 토크나이저를 사용하여 토큰화 과정을 거쳤으며, 최대 시퀀스 길이는 8192로 설정되었고 패킹(packing) 기법이 적용되었습니다. 패킹은 여러 개의 짧은 시퀀스를 하나의 긴 시퀀스로 결합하여 GPU 메모리를 효율적으로 활용하는 기법입니다. 훈련 손실이 프롬프트가 아닌 응답 부분에만 기반하여 계산되도록 보장하기 위해 레이블 마스킹(label masking)이 적용되었습니다. 이는 모델이 주어진 프롬프트에 조건화된 응답을 생성하는 능력을 학습하는 데 집중하도록 합니다. + +훈련 하이퍼파라미터는 다음과 같이 설정되었습니다. 가중치 감쇠(weight decay)는 0.1로 설정되어 과적합을 방지하고 일반화 성능을 향상시켰습니다. 파인튜닝은 19개의 NVIDIA A100 노드, 즉 총 152개의 NVIDIA A100 GPU를 사용하여 수행되었으며, 각 GPU의 배치 크기는 10으로 설정되었습니다. 이는 전체 배치 크기가 1,520임을 의미합니다. + +옵티마이저로는 AdamW가 사용되었으며, 초기 학습률은 8e-6으로 설정되었습니다. 학습률 스케줄로는 코사인 학습률 스케줄(cosine learning rate schedule)이 적용되었는데, 이는 훈련 과정에서 학습률을 점진적으로 감소시켜 안정적인 수렴을 돕습니다. 또한 초기 500 스텝 동안 선형 학습률 워밍업(linear learning rate warm-up)이 사용되었습니다. 워밍업 단계는 훈련 초기에 학습률을 점진적으로 증가시켜 모델이 급격한 파라미터 업데이트로 인해 불안정해지는 것을 방지합니다. + +모델은 총 3 에포크 동안 훈련되었으며, 전체 훈련 과정은 약 200시간이 소요되었습니다. 이러한 대규모 훈련 설정은 2,580만 개의 방대한 데이터셋을 효과적으로 학습하기 위해 필요한 계산 자원과 시간을 보여줍니다. 152개의 A100 GPU를 사용한 분산 훈련을 통해 이러한 규모의 파인튜닝이 실용적인 시간 내에 완료될 수 있었습니다. + +Orca-3의 훈련 과정은 AgentInstruct가 생성한 합성 데이터의 품질과 다양성이 실제로 언어 모델의 성능 향상으로 이어질 수 있음을 검증하기 위한 실증적 실험입니다. 동일한 기본 모델을 사용하는 Mistral-7b-Instruct와의 비교를 통해, AgentInstruct 데이터가 가져오는 순수한 개선 효과를 측정할 수 있습니다. 또한 Orca-2.5 모델과의 비교를 통해 AgentInstruct를 통해 생성된 2,200만 개의 추가 인스트럭션이 기존 데이터셋 대비 얼마나 큰 가치를 제공하는지 평가할 수 있습니다. +## 평가 결과 + +AgentInstruct를 통해 생성된 합성 데이터로 훈련된 Orca-3 모델의 성능을 종합적으로 평가하기 위해, 연구팀은 다양한 벤치마크와 평가 방법론을 활용했습니다. 평가는 크게 두 가지 축으로 진행되었는데, 첫째는 AgentInstruct가 가르치고자 했던 17가지 기술에 대한 직접적인 평가를 위한 Orca-Bench이고, 둘째는 일반적인 언어 모델 능력을 측정하는 표준 벤치마크들입니다. + +### Orca-Bench: AgentInstruct 효과의 직접적 검증 + +Orca-Bench 데이터셋은 AgentInstruct를 통해 데이터를 큐레이션한 17개 기술 각각에 대해 100개의 샘플로 구성된 홀드아웃 테스트 세트입니다. 단, 개방형 도메인 질문 응답(Open Domain Question Answering, ODQA) 카테고리는 예외적으로 두 개의 테스트 세트로 구성되었습니다. 첫 번째 서브셋인 ODQA는 초기 시드 인스트럭션 단계에서 생성된 100개의 질문으로 구성되며, 두 번째 서브셋인 Complex ODQA는 정제 단계에서 개발된 더 복잡한 질문들을 포함합니다. + +평가 방법론의 핵심은 GPT-4를 기준점으로 설정하고 모든 모델의 성능을 0에서 10까지의 척도로 상대적으로 평가하는 것입니다. GPT-4는 AgentInstruct 플로우에서 교사 모델로 사용되었으므로, 이를 10점 만점의 기준으로 설정하는 것은 자연스러운 선택입니다. Orca-Bench의 일부 항목은 다중 턴 상호작용을 포함하는데, 이러한 경우의 평가 프로세스는 특별한 주의가 필요합니다. + +다중 턴 상호작용을 $(시스템 메시지, 사용자_1, 어시스턴트, 사용자_2, 어시스턴트, ...)$로 표현할 때, 각 턴은 GPT-4(교사)에 의해 작성됩니다. 평가 대상 모델(학생)은 각 $사용자_i$ 입력에 대해 응답을 생성하며, 이때 교사가 설정한 이전 대화 기록을 조건으로 사용합니다. 학생이 생성한 각 응답은 원래 교사의 응답과 비교되어 0에서 10까지의 점수로 평가됩니다. + +학생 모델의 전체 점수를 계산하는 방법은 다음과 같습니다. 먼저 학생의 개별 점수들을 모두 합산하고, 이 합계를 교사의 점수 합계로 나눕니다. 이 비율에 10을 곱하여 학생의 최종 점수를 0에서 10까지의 척도로 정규화합니다. 수식으로 표현하면 다음과 같습니다. + +$$학생\_점수 = \frac{\sum_{i} 학생\_개별\_점수_i}{\sum_{i} 교사\_개별\_점수_i} \times 10$$ + +이러한 평가 방식은 다중 턴 대화에서 각 턴의 품질을 독립적으로 평가하면서도, 전체적인 대화 능력을 종합적으로 측정할 수 있게 합니다. + +AgentInstruct의 목표는 다양한 난이도를 가진 대규모의 다양한 데이터 코퍼스를 합성하는 것입니다. 이 전략이 효과적으로 실행되었다면, Orca-2.5, Mistral-Instruct-7b, ChatGPT와 같은 기준 모델들은 10점보다 상당히 낮은 점수를 받아야 하며, 이는 GPT-4에 비해 상대적으로 열등함을 보여줍니다. GPT-4는 10점의 벤치마크로 지정되었습니다. + +![기준 모델들과 Orca-3 체크포인트 간의 성능 비교](/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/1.png) + +위 그림은 기준 모델들과 Orca-3 간의 비교 분석을 보여줍니다. 이 그림은 AgentInstruct 데이터를 통한 포스트 트레이닝 과정에서 광범위한 능력의 현저한 향상을 보여줍니다. 레이더 차트의 외곽 원은 GPT-4의 10점 만점을 나타내며, 각 축은 서로 다른 기술 카테고리를 나타냅니다. Orca-3는 거의 모든 차원에서 기준 모델들을 크게 능가하며, 특히 일부 영역에서는 GPT-4에 근접하거나 동등한 성능을 보입니다. + +| 모델 | Orca-Bench 점수 | +|------|----------------| +| Orca-2.5 | 7.13 | +| Mistral-Instruct-7B | 8.31 | +| ChatGPT | 8.13 | +| Orca-3 (체크포인트 에포크 1) | 9.35 | +| Orca-3 (체크포인트 에포크 2) | 9.49 | +| Orca-3 | 9.55 | + +위 표는 Orca-Bench에서 서로 다른 모델들의 평균 성능을 보여줍니다. 점수는 0에서 10까지의 척도로 계산되며, 10은 GPT-4의 점수입니다. 각 훈련 에포크 후의 Orca-3를 포함하여 평균적으로 AgentInstruct 데이터의 포함은 Orca-2.5 기준선 대비 33.94%의 성능 향상을, Mistral-Instruct-7B 대비 14.92%의 향상을 가져왔습니다. + +이러한 결과는 AgentInstruct가 생성한 합성 데이터가 실제로 모델의 다양한 능력을 효과적으로 향상시킬 수 있음을 명확하게 보여줍니다. 특히 주목할 점은 훈련이 진행됨에 따라 성능이 지속적으로 향상되었다는 것입니다. 에포크 1에서 9.35점, 에포크 2에서 9.49점, 최종적으로 9.55점을 달성하여, 모델이 AgentInstruct 데이터로부터 점진적으로 학습하고 있음을 보여줍니다. + +### 표준 벤치마크 평가 + +Orca-3의 일반적인 언어 모델 능력을 평가하기 위해, 연구팀은 Orca-2.5, Mistral-7B-Instruct-v0.3, LLAMA3-8B-Instruct, GPT-3.5-turbo, GPT-4를 포함한 5개의 기준 모델과 비교하여 다음 벤치마크들에서 평가를 수행했습니다. + +**AGIEval**은 인간 중심 벤치마크로, 인간의 인지 및 문제 해결과 관련된 작업에서 모델의 능력을 평가합니다. SAT, LSAT, 수학 경시대회와 같은 인간 중심의 표준화된 시험 문제에 답하는 모델의 성능을 평가합니다. 이 벤치마크는 단순한 지식 회상을 넘어서 복잡한 추론과 문제 해결 능력을 요구합니다. + +**MMLU(Massive Multitask Language Understanding)** 벤치마크는 모델의 다중 작업 이해 능력을 측정합니다. 이 벤치마크는 수학, 철학, 의학, 심리학, 컴퓨터 과학, 법학 등 57개의 학문 분야를 다루는 약 16,000개의 객관식 문제를 포함하며, 테스트되는 모델의 일반 지식과 전문 지식을 모두 평가합니다. + +**ARC(AI2 Reasoning Challenge)** 벤치마크는 AllenAI에서 개발한 것으로, 언어 모델의 추론, 상식 지식, 깊은 이해 능력을 측정합니다. 테스트 세트는 Easy(2,376개)와 Challenge(1,172개)의 두 세트로 나뉜 총 3,548개의 객관식 문제를 포함합니다. + +**BBH(Big Bench Hard)**는 더 넓은 Big-Bench 벤치마크에서 선택된 23개 작업으로 구성되며, 복잡한 다단계 추론을 요구하는 다양한 학문 분야를 다룹니다. 이 벤치마크는 특히 어려운 작업들을 선별하여 모델의 고급 추론 능력을 평가합니다. + +**GPQA(Graduate-level Google-Proof Q&A)**는 생물학, 화학, 물리학 분야에서 박사 과정을 밟고 있는 도메인 전문가들이 만든 448개의 고품질이고 극도로 어려운 객관식 문제로 구성된 도전적인 벤치마크입니다. 이 벤치마크의 "Google-Proof"라는 명칭은 단순한 검색으로는 답을 찾을 수 없는 문제들로 구성되어 있음을 의미합니다. + +**DROP(Discrete Reasoning over Paragraphs)**은 독해 벤치마크로, 모델이 질문에서 참조를 해결하고 정렬, 계산, 덧셈 등의 이산 연산을 수행해야 합니다. 이 벤치마크는 단순한 텍스트 이해를 넘어서 수치적 추론과 논리적 연산을 결합한 능력을 평가합니다. + +**GSM8K(Grade School Math 8K)**는 고품질의 다양한 초등학교 수학 문제 데이터셋입니다. 테스트 분할은 주로 기본 산술 연산을 사용한 일련의 초등 계산을 포함하여 해결하는 데 2단계에서 8단계가 필요한 1,320개의 문제로 구성됩니다. + +**FoFo(Format Following)**는 모델이 복잡한 도메인 특화 형식을 따르는 능력을 평가하는 벤치마크입니다. 이 벤치마크는 AI-인간 협업을 통해 만들어진 의료, 금융, 마케팅 등의 도메인에서 다양한 실제 형식과 인스트럭션에 대한 형식 준수를 테스트합니다. + +**IFEval(Instruction-Following Evaluation)**은 25가지 유형의 '검증 가능한 인스트럭션'을 다루는 500개의 프롬프트 세트를 사용하여 자연어 인스트럭션을 따르는 모델의 능력을 측정하는 벤치마크입니다. 각 프롬프트는 이러한 인스트럭션 중 하나 이상을 포함할 수 있습니다. + +**MT-Bench**는 GPT-4를 평가자로 사용하여 다중 턴 대화에서 채팅 어시스턴트의 능력을 평가하도록 특별히 설계된 벤치마크입니다. 이 벤치마크는 실제 대화 시나리오에서의 모델 성능을 평가합니다. + +**AlpacaEval**은 채팅 기반 언어 모델을 위해 특별히 설계된 벤치마크로, 인스트럭션 따르기 작업의 맥락에서 모델의 능력을 평가합니다. Alpaca 웹 데모에서의 사용자 상호작용을 대표하는 805개의 인스트럭션으로 구성된 단일 턴 벤치마크입니다. + +**InFoBench**는 새로운 메트릭인 DRFR(Decomposed Requirements Following Ratio)을 사용하여 모델의 인스트럭션 따르기 능력을 평가하는 벤치마크입니다. DRFR은 복잡한 인스트럭션을 더 간단한 기준으로 분해하고, 이러한 분해된 작업에 대한 LLM의 준수를 상세히 분석할 수 있게 합니다. 이 벤치마크는 여러 제약 카테고리에 걸쳐 500개의 다양한 인스트럭션과 2,250개의 분해된 질문을 포함합니다. + +**EQBench**는 언어 모델의 감성 지능 측면을 평가하는 감성 지능 벤치마크입니다. 캐릭터 간의 대화를 제공한 다음 모델에게 해당 캐릭터의 감정 상태 강도를 예측하도록 요청하여, 복잡한 감정과 사회적 상호작용을 이해하는 모델의 능력을 테스트합니다. 저자들은 EQ-Bench와 MMLU와 같은 포괄적인 다중 도메인 벤치마크 간에 강한 상관관계($r=0.97$)를 발견했습니다. + +| 모델 | Orca-3 -7B | Orca-2.5 -7B | Mistral-7B-Instruct | LLAMA3-8B-instruct | GPT-3.5-turbo | GPT-4 | +|------|-----------|-------------|-------------------|-------------------|--------------|-------| +| AGIEval | 56.80 (+40%) | 42.71 | 40.52 | 47.17 | 50.91 | 61.99 | +| MMLU | 69.95 (+19%) | 60.34 | 58.61 | 63.44 | 68.26 | 67.07 | +| ARC | 92.47 (+12%) | 86.39 | 82.72 | 85.74 | 92.0 | 93.35 | +| BBH | 61.83 (+38%) | 48.63 | 44.71 | 54.97 | 54.17 | 76.06 | +| GPQA | 28.12 (-4%) | 27.68 | 29.46 | 28.12 | 27.9 | 33.93 | +| DROP | 71.14 (+22%) | 65.19 | 58.12 | 68.44 | 67.15 | 67.36 | +| GSM8K | 83.09 (+54%) | 74.3 | 54.06 | 77.48 | 78.1* | 86.88 | +| FOFO | 84.01 (+12%) | 66.19 | 75.3 | 79.35 | 76.92 | 87.45 | +| IFEval | 49.54 (+2%) | 45.29 | 48.61 | - | 58.6 | 79.3 | +| MT-Bench | 8.20 (+9%) | 7.15 | 7.53 | 7.99 | 8.01 | 9.04 | +| AlpacaEval | 24.80 (+45%) | 13.47 | 17.1 | 22.9 | 22.7 | 55 | +| InfoBench | 84.30 (+4%) | 79.6 | 81 | - | 86.7 | 89.4 | +| EQBench Metric-v2 | 91.36 (+4%) | 88.03 | 87.75 | 88.67 | 88.95 | 93.32 | +| EQBench Metric-v1 | 50.28 (+28%) | 38.8 | 39.27 | 42.13 | 42.05 | 55.98 | + +위 표는 모든 벤치마크에서 Orca-3와 다른 기준 모델들의 성능을 보여줍니다. 참고로 GSM8K에 대한 GPT-3.5-turbo 점수는 Phi-3 논문에서 가져왔습니다. (+x%)로 표시된 수치는 Mistral-7b-Instruct 대비 상대적 개선율을 나타냅니다. + +모든 Orca-3 및 다른 기준 모델에 대한 평가는 텍스트에서 달리 언급되지 않는 한 제로샷 설정에서 수행되었습니다. 작업/벤치마크의 유형과 답변 추출 및 메트릭 생성에 사용된 해당 방법은 부록 B에 명시되어 있습니다. + +전반적으로 Orca-3는 대부분의 벤치마크에서 동일한 기본 모델을 사용하는 Mistral-7B-Instruct를 크게 능가하며, 많은 경우 더 큰 모델인 LLAMA3-8B-Instruct와 GPT-3.5-turbo를 능가하거나 동등한 성능을 보입니다. 특히 AGIEval에서 40%, MMLU에서 19%, BBH에서 38%, GSM8K에서 54%, AlpacaEval에서 45%의 상대적 개선을 달성했습니다. 이러한 결과는 AgentInstruct를 통해 생성된 합성 데이터가 언어 모델의 광범위한 능력을 효과적으로 향상시킬 수 있음을 보여줍니다. + +### 독해 능력 평가 + +독해는 대규모 언어 모델에게 중요한 능력입니다. 소규모 언어 모델(SLM)의 경우 단순한 검색 시스템이 아닌 추론 엔진으로서 더 적합하기 때문에 독해 능력이 더욱 중요합니다. AgentInstruct를 통한 목표 지향적 훈련을 통해, 연구팀은 Mistral의 독해 능력에서 상당한 개선을 관찰했습니다. + +| 모델 | Orca-3 -7B | Orca-2.5 -7B | Mistral-7B-Instruct | GPT-4 | GPT-3.5-turbo | +|------|-----------|-------------|-------------------|-------|--------------| +| AGIEval lsat-rc | 75.84 (+21%, +20%) | 62.45 | 63.2 | 63.57 | 72.86 | +| AGIEval sat-en | 87.38 (+13%, +15%) | 77.18 | 75.73 | 82.04 | 82.52 | +| AGIEval gaokao-english | 87.25 (+13%, +17%) | 77.45 | 74.84 | 83.01 | 87.25 | +| AGIEval lsat-lr | 63.14 (+45%, +36%) | 43.53 | 46.27 | 54.9 | 68.82 | +| DROP | 71.14 (+9%, +22%) | 65.19 | 58.12 | 67.15 | 67.36 | +| 평균 | 76.95 (+18%, +21%) | 65.16 | 63.63 | 70.13 | 75.76 | + +위 표는 독해 기반 하위 작업 및 벤치마크에서 모델들의 성능을 보여줍니다. Orca-3 결과 옆의 수치 (x%, y%)는 각각 Orca-2.5와 Mistral-7B-Instruct 대비 개선 비율을 나타냅니다. + +Orca-3는 Orca-2.5 대비 18%, Mistral-Instruct-7b 대비 21%의 개선을 보여주며, 이는 AgentInstruct의 독해 플로우가 효과적으로 작동했음을 입증합니다. 특히 주목할 만한 점은 이러한 데이터 기반 접근법을 활용하여 7B 모델의 성능을 인간 응시자에게도 어려운 것으로 간주되는 법학대학원 입학시험(LSAT)의 독해 섹션에서 GPT-4와 동등한 수준으로 끌어올렸다는 것입니다. + +### 수학 능력 평가 + +AI 모델의 추론 능력을 평가하는 것은 수학 문제 해결을 통해 효과적으로 수행될 수 있습니다. 소규모 언어 모델은 초등 수학에서 상당한 개선을 보였지만, 일반적으로 더 복잡한 고등학교 및 대학 수준의 수학에서는 성능이 떨어집니다. 수학 문제는 개방형 도메인 질문 응답 및 객관식 질문 플로우에 의해 생성됩니다. + +| 모델 | Orca-3 -7B | Orca-2.5 -7B | Mistral-7B-Instruct | GPT-3.5-turbo | GPT-4 | +|------|-----------|-------------|-------------------|--------------|-------| +| AGIEval math | 42.90 (+73%, +168%) | 24.8 | 16.0 | 38.0 | 57.9 | +| AGIEval sat-math | 80.91 (+34%, +50%) | 60.45 | 54.09 | 67.73 | 90.0 | +| BBH multistep-arithmetic-two | 66.80 (+1418%, +882%) | 4.4 | 6.8 | 46.4 | 77.2 | +| MMLU abstract algebra | 55.00 (+129%, +104%) | 24.0 | 27.0 | 47.0 | 70.0 | +| MMLU college mathematics | 44.00 (+63%, +44%) | 30.0 | 34.0 | 39.0 | 62.0 | +| MMLU high-school mathematics | 66.67 (+41%, +94%) | 47.41 | 34.44 | 57.04 | 66.67 | +| GSM8K | 83.09 (+12%, +54%) | 74.3 | 54.06 | 78.1* | 86.88 | + +위 표는 수학 벤치마크에서 모델들의 성능 점수를 보여줍니다. 참고로 GSM8K에 대해 보고된 GPT-3.5-turbo 정확도 점수는 Phi-3 논문에서 가져왔습니다. Orca-3 결과 옆의 수치 (x%, y%)는 각각 Orca-2.5와 Mistral-7B-Instruct 대비 개선 비율을 나타냅니다. + +AgentInstruct를 통해 연구팀은 초등 수준부터 대학 수준까지 다양한 난이도에 걸쳐 Mistral의 수학 능력을 향상시킬 수 있었습니다. 이는 다양한 인기 있는 수학 벤치마크에서 44%에서 168%에 이르는 성능 향상으로 이어졌습니다. 특히 BBH multistep-arithmetic-two에서 1418%라는 극적인 개선은 AgentInstruct가 복잡한 다단계 산술 추론 능력을 효과적으로 가르칠 수 있음을 보여줍니다. + +생성적 교육의 목표는 특정 벤치마크를 충족하기 위한 데이터를 생성하는 것이 아니라 기술을 가르치는 것임을 강조해야 합니다. 생성적 교육을 위한 AgentInstruct의 효과는 다양한 수학 데이터셋에 걸친 현저한 향상으로 입증됩니다. + +### 형식 준수 능력 평가 + +형식 지침을 따르는 것은 언어 모델이 실제 상황에 적용되기 위해 필수적입니다. 모든 AgentInstruct 플로우에서 연구팀은 에이전트를 통해 여러 형식 지침을 합성하여 각 특정 시나리오에 대해 형식 준수를 가르치도록 보장했습니다. 이를 통해 Mistral의 형식 준수 능력을 11.5% 크게 개선할 수 있었으며, Gemini Pro의 능력을 능가했습니다. + +| 모델 | FoFo | +|------|------| +| **오픈소스** | | +| Orca-3-7B | 84.01 (+26.92%, +11.5%) | +| Orca-2.5-7B | 66.19 | +| Mistral-7B-Instruct | 75.3 | +| **클로즈드소스** | | +| GPT-3.5-turbo | 76.92 | +| Gemini Pro | 80.25* | +| GPT-4 | 87.45 | + +위 표는 FoFo 벤치마크에서 Orca-3-7B 모델과 다른 오픈소스 및 클로즈드소스 기준 모델들의 성능을 보여줍니다. Orca-3 결과 옆의 수치 (x%, y%)는 각각 Orca-2.5와 Mistral-7B-Instruct 대비 개선 비율을 나타냅니다. 참고로 Gemini Pro의 점수는 원본 논문에서 가져왔습니다. + +Orca-3는 오픈소스 모델 중에서 가장 높은 성능을 보이며, 클로즈드소스 모델인 Gemini Pro를 능가합니다. 이는 AgentInstruct의 형식 준수 플로우가 실제 도메인의 복잡한 형식 요구사항을 효과적으로 가르칠 수 있음을 보여줍니다. + +### 추상적 요약 능력 평가 + +요약은 언어 모델에게 중요한 능력이며, 많은 모델이 고품질 요약 성능을 달성하지만 환각(hallucination) 문제로 어려움을 겪습니다. 연구팀은 환각과 품질이라는 두 가지 핵심 메트릭을 사용하여 요약 능력을 평가했습니다. 이를 위해 GPT-4를 평가자로 활용했으며, 이러한 평가에 사용된 프롬프트는 부록 B에서 찾을 수 있습니다. + +요약 능력을 평가하기 위해 다음 벤치마크들을 사용했습니다. + +**ACI-Bench(Ambient Clinical Intelligence Benchmark)**는 의사-환자 대화로부터 자동 보고서 생성을 벤치마킹하기 위해 설계된 데이터셋입니다. 테스트 세트는 120개의 데이터 포인트로 구성됩니다. + +**InstruSum**은 인스트럭션 제어 가능한 요약을 위한 LLM의 생성 능력을 평가하기 위한 데이터셋입니다. 100개의 데이터 포인트로 구성됩니다. + +**Orca-Sum**은 LLM이 요약 및 근거 기반 데이터 변환 인스트럭션을 따르는 능력을 평가하기 위해 새롭게 생성된 벤치마크입니다. 이 테스트 세트를 구성하기 위해, 연구팀은 뉴스, 대화, 과학, 건강, 소셜, 이메일, 코드 등 여러 도메인에 걸쳐 Hugging Face에서 수집한 45개의 요약 데이터셋에서 데이터를 샘플링했으며, 총 458개의 데이터 포인트를 포함합니다. + +연구팀은 무작위로 최대 1,000개의 데이터 포인트를 수집한 다음 훈련 세트와의 중복을 피하기 위해 신중하게 중복 제거를 수행했습니다. 그런 다음 GPT-4를 사용하여 각 데이터셋에 대해 40개의 프롬프트 세트를 생성하고, 각 선택된 데이터 포인트에 대해 무작위로 하나를 샘플링했습니다. 프롬프트는 데이터셋별로 특화되어 있으며 요약, 근거 설정, 데이터 변환에 초점을 맞춥니다. 예를 들어, 프롬프트는 모델에게 과학 논문에서 TikTok 비디오를 생성하거나 Wikipedia 페이지에서 법적 계약서를 생성하도록 요청할 수 있습니다. 이를 통해 모델이 형식과 도메인 간을 이동해야 하는 도전적인 시나리오에서 응답의 품질뿐만 아니라 환각도 측정할 수 있습니다. + +| 모델 | Orca-3 -7B | Orca-2.5 -7B | Mistral-7B-Instruct | LLAMA3-8B-instruct | GPT-3.5-turbo | GPT-4 | +|------|-----------|-------------|-------------------|-------------------|--------------|-------| +| **환각 비율 (%) - 낮을수록 좋음** | | | | | | | +| 전체 (마이크로) | 21.09 (-26.12%, -31.34%) | 28.55 | 30.72 | 34.22 | 21.13 | 15.07 | +| Orca-Sum | 28.17 | 36.84 | 39.61 | 38.43 | 28.60 | 21.66 | +| InstruSum | 9.00 | 12.00 | 17.00 | 25.00 | 12.00 | 1.00 | +| ACI-Bench | 4.20 | 10.83 | 8.30 | 25.83 | 1.70 | 1.70 | +| **품질 점수 (1-10) - 높을수록 좋음** | | | | | | | +| 전체 (마이크로) | 9.14 (+7.91%, +3.28%) | 8.47 | 8.85 | 9.00 | 8.69 | 9.08 | +| Orca-Sum | 8.95 | 8.27 | 8.61 | 8.90 | 8.32 | 8.61 | +| InstruSum | 9.17 | 8.30 | 9.16 | 9.21 | 9.27 | 9.31 | +| ACI-Bench | 9.72 | 9.39 | 9.48 | 9.23 | 9.60 | 9.70 | + +위 표는 GPT-4에 의해 평가된 환각 비율과 품질 점수를 보여줍니다. Orca-3 결과 옆의 수치 (x%, y%)는 각각 Orca-2.5와 Mistral-7B-Instruct 대비 개선 비율을 나타냅니다. + +AgentInstruct 접근법을 통해 연구팀은 환각을 31.34% 감소시키는 동시에 GPT-4(교사)와 비교 가능한 품질 수준을 달성하는 데 성공했습니다. 특히 주목할 만한 점은 Orca-3가 환각 비율에서 GPT-3.5-turbo와 거의 동등한 수준(21.09% vs 21.13%)을 달성하면서도, 품질 점수에서는 이를 능가한다는 것입니다(9.14 vs 8.69). + +### RAG 능력 평가 + +RAG(Retrieval Augmented Generation) 기술은 언어 모델이 정보에 기반한 맥락적으로 정확한 응답을 생성하는 능력을 크게 향상시켜, 전반적인 성능과 유용성을 업그레이드합니다. 언어 모델의 RAG 능력을 테스트하는 것은 모델이 제한된 지식을 가진 영역에서 더 효과적입니다. 이 연구를 위해 연구팀은 의료 코퍼스에서 검색된 정보를 참조하여 의료 질문에 답하는 데 초점을 맞춘 벤치마크인 MIRAGE를 선택했습니다. + +의료 도메인은 일반적으로 이 연구에서 평가된 모델들의 주요 초점이 아니기 때문에, MIRAGE는 RAG 능력을 평가하기 위한 효과적인 플랫폼을 제공합니다. 또한 AgentInstruct RAG 데이터는 일반적인 비의료 데이터 시드를 사용했기 때문에, 기술(RAG)이 새로운 도메인에 얼마나 잘 적용될 수 있는지 테스트할 수 있습니다. + +| MIRAGE 데이터셋 | 평균 | MMLU-Med | MedQA-US | MedMCQA | PubMedQA | BioASQ | +|----------------|------|----------|----------|---------|----------|--------| +| **GPT-4 (0613)** | | | | | | | +| CoT | 89.44 | 83.97 | 69.88 | 39.6 | 84.3 | 73.44 | +| RAG | 87.24 | 82.8 | 66.65 | 70.6 | 92.56 | 79.97 | +| **GPT-3.5-turbo (0613)** | | | | | | | +| CoT | 72.91 | 65.04 | 55.2 | 36 | 74.27 | 60.69 | +| RAG | 75.48 | 66.61 | 58.04 | 67.4 | 90.29 | 71.57 | +| **Orca-2.5-7B** | | | | | | | +| CoT | 63.91 | 51.37 | 43.65 | 29.6 | 71.04 | 51.92 | +| RAG | 53.72 | 37.08 | 39.2 | 19 | 69.09 | 43.62 | +| **Mistral-7B-Instruct-v0.1** | | | | | | | +| CoT | 50.96 | 42.73 | 34.9 | 27.6 | 47.57 | 40.75 | +| RAG | 54.64 | 35.35 | 43.41 | 30.2 | 68.77 | 46.47 | +| **Orca-3-7B** | | | | | | | +| CoT | 71.35 | 55.38 | 51.33 | 27.8 | 75.24 | 56.22 | +| RAG | 71.17 (+30.25%) | 51.85 (+46.68%) | 57.95 (+33.49%) | 58.2 (+92.71%) | 82.2 (+19.52%) | 64.27 (+38.30%) | + +위 표는 MIRAGE에서 RAG 기술에 대한 평가 결과를 보여줍니다. Orca-3 결과 옆의 수치 (x%)는 각각 Mistral-7B-Instruct 대비 개선 비율을 나타냅니다. CoT는 RAG를 사용하지 않고 직접 답변할 때 동일한 모델의 성능을 보여줍니다. GPT-4와 GPT-3.5-Turbo의 결과는 MIRAGE 논문에서 가져왔습니다. + +연구팀은 MIRAGE의 모든 모델에 대해 동일한 검색 메커니즘을 사용했으며, 벤치마크와 함께 제공되는 코퍼스인 MedRAG를 활용했습니다. 이는 동일한 검색 함수와 동일한 수의 검색된 문서를 사용하는 것을 포함합니다. 모든 모델에 동일한 검색된 문서 세트가 제공되므로, 비교는 서로 다른 모델이 검색된 결과를 응답에 통합하는 능력을 정확하게 반영합니다. + +전반적으로 다음과 같은 관찰 결과를 얻었습니다. + +작업에 대한 더 깊은 이해를 가진 모델(CoT 점수)은 더 높은 RAG 점수를 갖는 경향이 있습니다. RAG 성능에만 초점을 맞추면, 포스트 트레이닝을 적용하여 Mistral의 성능을 평균 38.30% 향상시킬 수 있었습니다. + +MIRAGE의 5개 데이터셋 중 PubMedQA는 모델의 RAG 수행 능력을 평가하기 위한 가장 효과적인 테스트베드를 제공합니다. PubMedQA에서는 모든 모델이 제한된 사전 지식을 가지고 있으며, 검색된 맥락이 필수 정보를 제공하는데, 이는 GPT-4의 성능 도약으로 입증됩니다. 모든 Mistral 파인튜닝 모델은 유사한 성능을 보이지만, AgentInstruct RAG 플로우 데이터로 훈련된 Orca-3만이 상당한 개선을 보여주며, Mistral-Instruct 대비 92.71%의 상대적 개선을 달성했습니다. + +이러한 결과는 AgentInstruct의 RAG 플로우가 일반적인 비의료 데이터로 훈련되었음에도 불구하고, 의료 도메인과 같은 새로운 영역으로 효과적으로 전이될 수 있는 일반화된 RAG 기술을 가르칠 수 있음을 보여줍니다. +## 한계점 + +AgentInstruct는 데이터 생성에 필요한 인간 전문성을 크게 줄이고 대규모의 고품질 합성 데이터 생성을 가능하게 하지만, 이는 여전히 이 방향의 초기 단계이며 합성 데이터 생성과 관련된 여러 한계점을 가지고 있습니다. 이러한 한계점들은 AgentInstruct 방법론 자체의 제약사항과 이를 통해 훈련된 Orca-3 모델이 상속받은 제약사항으로 구분할 수 있습니다. + +### AgentInstruct 방법론의 한계 + +확장성(Extensibility) 측면에서 서로 다른 기술에 대한 에이전틱 플로우를 생성하는 것은 플로우 구축을 위한 인간의 노력에 의존합니다. 현재 AgentInstruct는 17개의 서로 다른 기술 카테고리에 대해 수동으로 설계된 에이전틱 플로우를 사용하고 있으며, 각 플로우는 Content Transformation, Seed Instruction Generation, Refinement의 세 가지 주요 단계를 포함합니다. 이러한 플로우를 설계하는 과정은 해당 기술에 대한 깊은 이해와 적절한 에이전트 역할 정의, 그리고 효과적인 데이터 생성 전략 수립을 필요로 합니다. 향후 연구에서는 사용자 명세로부터 에이전틱 플로우의 구축을 자동화하는 방법을 고려해야 합니다. 이는 새로운 기술이나 도메인으로 AgentInstruct를 확장하는 데 필요한 인간의 개입을 최소화하고, 더 빠르고 유연한 데이터 생성 파이프라인을 구축할 수 있게 할 것입니다. + +정확성(Accuracy) 측면에서 합성 데이터는 실제 데이터의 복잡성과 미묘한 차이를 완벽하게 복제하지 못할 수 있으며, 이는 잠재적인 부정확성으로 이어질 수 있습니다. AgentInstruct는 GPT-4와 같은 강력한 언어 모델과 검색 API, 코드 인터프리터와 같은 도구를 결합하여 고품질 데이터를 생성하지만, 이러한 접근법도 완벽하지 않습니다. 특히 복잡한 추론이 필요한 작업이나 도메인 특화 지식이 요구되는 영역에서는 생성된 데이터가 실제 전문가가 작성한 데이터의 품질에 미치지 못할 수 있습니다. 데이터의 품질을 더 잘 평가하기 위한 추가적인 연구가 필요합니다. 이는 자동화된 품질 평가 메트릭 개발, 인간 평가자를 활용한 체계적인 품질 검증, 그리고 생성된 데이터의 오류 패턴 분석 등을 포함할 수 있습니다. + +비용(Cost) 측면에서 LLM과 도구를 사용하는 여러 에이전트로 합성 데이터를 생성하는 것은 자원 집약적일 수 있습니다. AgentInstruct는 2,500만 개의 인스트럭션-응답 쌍을 생성하기 위해 GPT-4와 같은 강력한 모델을 반복적으로 호출하며, 각 인스트럭션은 Content Transformation, Seed Instruction Generation, Refinement의 여러 단계를 거칩니다. 특히 Refinement Flow에서는 Suggester-Editor 쌍이 반복적으로 작동하여 복잡도를 증가시키는데, 이는 추가적인 API 호출과 계산 비용을 발생시킵니다. 또한 검색 API나 코드 인터프리터와 같은 도구의 사용도 추가 비용을 초래합니다. 대규모 데이터 생성을 위해서는 이러한 비용을 고려한 효율적인 자원 관리 전략이 필요합니다. + +편향(Bias) 측면에서 합성 데이터를 생성하는 데 사용된 원본 시드 데이터에 편향이 포함되어 있다면, 이러한 편향은 합성 데이터에 반영되고 심지어 증폭될 수 있습니다. AgentInstruct는 KnowledgePile, AutoMathText, OpenStax, Apache-2.0 라이선스 소스 코드와 같은 공개 데이터를 시드로 사용합니다. 이러한 데이터 소스들은 각각 고유한 편향을 가지고 있을 수 있으며, 예를 들어 특정 주제에 대한 과도한 표현, 특정 관점의 과소 표현, 문화적 편향, 또는 시대적 편향 등이 포함될 수 있습니다. 에이전틱 플로우를 통한 데이터 생성 과정에서 이러한 편향이 증폭될 위험이 있으며, 특히 Refinement Flow에서 복잡도를 증가시키는 과정에서 원본 편향이 더욱 강화될 수 있습니다. 편향을 감지하고 완화하기 위한 체계적인 접근법이 필요합니다. + +검증(Validation) 측면에서 합성 데이터가 원하는 시나리오를 정확하게 표현하는지 검증하는 것은 어려울 수 있습니다. AgentInstruct가 생성한 데이터가 실제로 의도한 기술을 효과적으로 가르치는지, 그리고 생성된 인스트럭션과 응답이 논리적으로 일관성이 있고 사실적으로 정확한지를 체계적으로 평가하는 것은 복잡한 과제입니다. 현재 연구에서는 Orca-Bench와 같은 홀드아웃 테스트 세트를 사용하여 간접적으로 데이터 품질을 평가하지만, 이는 최종 모델의 성능을 측정하는 것이지 개별 데이터 포인트의 품질을 직접 평가하는 것은 아닙니다. 생성된 데이터의 다양성, 난이도 분포, 오류율 등을 정량적으로 측정하고 검증하기 위한 더 정교한 방법론이 필요합니다. + +시드 데이터 의존성(Dependency on Seed Data) 측면에서 합성 데이터의 품질은 시드로 사용된 실제 데이터의 품질에 의존합니다. 낮은 품질의 입력 데이터는 낮은 품질의 합성 데이터를 초래할 수 있습니다. AgentInstruct는 원시 텍스트 문서와 코드 파일을 시드로 사용하는데, 이러한 시드 데이터의 품질이 최종 생성 데이터의 품질에 직접적인 영향을 미칩니다. 예를 들어, 시드 문서에 사실적 오류가 포함되어 있거나, 불완전한 정보를 담고 있거나, 명확하지 않은 설명을 포함하고 있다면, 이러한 문제점들이 생성된 인스트럭션과 응답에도 전파될 수 있습니다. 따라서 고품질 시드 데이터의 선별과 큐레이션이 AgentInstruct의 성공에 중요한 요소입니다. + +### Orca-3 모델의 한계 + +Orca-3는 AgentInstruct 데이터를 기반으로 Mistral 모델 패밀리를 파인튜닝한 결과물이며, Mistral의 많은 한계점과 다른 대규모 언어 모델의 일반적인 한계점, 그리고 훈련 과정에서 비롯된 한계점을 상속받습니다. + +데이터 편향(Data Biases) 측면에서 방대한 데이터로 훈련된 대규모 언어 모델은 소스 데이터에 존재하는 편향을 의도치 않게 포함할 수 있습니다. 결과적으로 모델은 잠재적으로 편향되거나 불공정한 출력을 생성할 수 있습니다. Orca-3는 2,580만 개의 인스트럭션-응답 쌍으로 훈련되었으며, 이 중 2,200만 개는 AgentInstruct를 통해 생성되었고 나머지 380만 개는 기존 Orca 시리즈와 공개 데이터셋에서 가져왔습니다. 이러한 대규모 데이터셋은 다양한 소스로부터 수집되었으며, 각 소스는 고유한 편향을 가지고 있을 수 있습니다. 특히 웹 크롤링 데이터는 인터넷 상의 불균형한 표현을 반영할 수 있으며, 특정 인구 집단, 관점, 또는 주제에 대한 과도한 또는 과소한 표현을 포함할 수 있습니다. + +투명성 부족(Lack of Transparency) 측면에서 복잡성과 크기로 인해 대규모 언어 모델은 "블랙박스"로 작동할 수 있으며, 특정 출력이나 결정 뒤의 근거를 이해하기 어렵게 만듭니다. Orca-3는 70억 개의 파라미터를 가진 모델로, 내부 표현과 의사결정 과정을 직접적으로 해석하기 어렵습니다. 모델이 특정 답변을 생성한 이유, 특정 추론 경로를 선택한 이유, 또는 특정 정보를 우선시한 이유를 명확하게 설명하기 어렵습니다. 더 많은 정보를 위해서는 Azure의 투명성 노트를 검토하는 것이 권장됩니다. + +콘텐츠 위해(Content Harms) 측면에서 대규모 언어 모델이 야기할 수 있는 다양한 유형의 콘텐츠 위해가 있습니다. 이러한 모델을 사용할 때 이를 인식하고 예방 조치를 취하는 것이 중요합니다. 여러 회사와 기관에서 제공하는 다양한 콘텐츠 조정 서비스를 활용하는 것이 권장됩니다. 중요한 점으로, 연구진은 향후 정부와 기술 리더들이 AI 기술에 대한 콘텐츠 위해에 관한 더 나은 규제와 표준을 마련하기를 희망합니다. 연구 및 오픈소스 커뮤니티가 이 방향에서 수행할 수 있는 중요한 역할을 가치 있게 여기고 인정합니다. + +환각(Hallucination) 측면에서 주어진 언어 모델에 전적으로 의존하지 않도록 주의하고 경계하는 것이 중요합니다. 특히 깊은 영향을 미칠 수 있는 중요한 결정이나 정보에 대해서는 더욱 그렇습니다. 이러한 모델이 콘텐츠를 조작하는 것을 방지하는 방법이 명확하지 않기 때문입니다. 더욱이 소규모 모델이 더 작은 크기와 그에 따른 감소된 기억 용량으로 인해 근거 없는 생성 사용 사례에서 환각에 더 취약할 수 있는지는 명확하지 않습니다. 이는 활발한 연구 주제이며, 이 주제에 대한 더 엄격한 측정, 이해 및 완화 방안이 마련되기를 희망합니다. 앞서 평가 결과에서 보았듯이, Orca-3는 요약 작업에서 환각 비율을 31.34% 감소시키는 성과를 보였지만, 여전히 21.09%의 환각 비율을 보이며 이는 완전히 해결되지 않은 문제임을 나타냅니다. + +오용 가능성(Potential for Misuse) 측면에서 적절한 안전장치 없이는 이러한 모델이 허위 정보나 유해한 콘텐츠를 생성하는 데 악의적으로 사용될 위험이 있습니다. Orca-3와 같은 강력한 언어 모델은 설득력 있는 텍스트를 생성할 수 있는 능력을 가지고 있으며, 이는 잘못된 의도로 사용될 경우 사회적 위험을 초래할 수 있습니다. 예를 들어, 가짜 뉴스 생성, 피싱 이메일 작성, 악의적인 코드 생성, 또는 사회 공학 공격에 활용될 수 있습니다. 이러한 위험을 완화하기 위해서는 모델 배포 시 적절한 사용 정책, 접근 제어, 그리고 오용 감지 메커니즘이 필요합니다. + +데이터 분포(Data Distribution) 측면에서 Orca-3의 성능은 튜닝 데이터의 분포와 강하게 상관관계가 있을 가능성이 높습니다. 이러한 상관관계는 훈련 데이터셋에서 과소 표현된 영역에서의 정확성을 제한할 수 있습니다. Orca-3는 주로 일반적인 텍스트와 코드 데이터로 훈련되었으며, 특정 전문 도메인이나 특수한 작업 유형에 대해서는 충분한 훈련 데이터가 없을 수 있습니다. 예를 들어, 의료 도메인에서의 RAG 평가 결과는 일반 도메인에서의 성능보다 상대적으로 낮았으며, 이는 훈련 데이터 분포의 영향을 보여줍니다. 모델이 훈련 중에 접하지 못한 유형의 작업이나 도메인에서는 성능이 저하될 수 있으며, 이는 모델 적용 시 고려해야 할 중요한 제약사항입니다. + +## 결론 + +AgentInstruct 접근법은 모델 포스트 트레이닝을 위한 대량의 다양하고 고품질의 데이터를 생성하는 과제에 대한 유망한 솔루션을 제공합니다. 이 방법은 합성 데이터 생성을 위해 에이전틱 플로우를 사용함으로써 두드러지며, 따라서 다양성 부족과 데이터 생성 과정에서의 집중적인 인간 큐레이션 및 개입의 필요성과 같은 모델 훈련에서 합성 데이터 사용과 관련된 주요 우려사항을 해결합니다. + +에이전틱 프레임워크를 활용함으로써 AgentInstruct는 비구조화된 데이터 소스로부터 프롬프트와 응답을 모두 포함하는 맞춤형 데이터셋을 생성할 수 있으며, 이는 모델의 포스트 트레이닝을 촉진하고 다양한 기술을 가르칠 수 있게 합니다. 이 접근법의 효과는 AgentInstruct가 생성한 2,500만 쌍의 데이터셋으로 포스트 트레이닝된 Orca-3 모델에서 관찰된 상당한 개선으로 입증됩니다. Orca-3는 여러 벤치마크에서 주목할 만한 성능 향상을 보여주었으며, 특히 AGIEval에서 40%, MMLU에서 19%, GSM8K에서 54%, BBH에서 38%, AlpacaEval에서 45%의 개선을 달성했습니다. + +연구진은 합성 데이터 생성을 위한 에이전틱 플로우 사용이 사전 학습, 포스트 트레이닝, 도메인 및 작업 특화를 포함한 모델 훈련의 모든 단계에서 상당한 가치를 보여줄 수 있다고 믿습니다. 비구조화된 콘텐츠를 사용하여 주어진 명세에 따라 다양하고 고품질의 인스트럭션 데이터를 생성할 수 있는 능력은 합성 데이터를 사용한 모델 맞춤화(도메인 특화 콘텐츠를 시드로 사용)와 지속적인 개선(에이전틱 플로우로 기본 모델보다 높은 품질의 데이터 생성)을 위한 반자동 파이프라인을 만드는 길을 열어줄 수 있습니다. + +이러한 접근법은 언어 모델 개발의 패러다임을 변화시킬 잠재력을 가지고 있습니다. 전통적으로 고품질 훈련 데이터의 생성은 인간 전문가의 집중적인 노력을 필요로 했으며, 이는 확장성과 비용 측면에서 주요 병목 현상이었습니다. AgentInstruct는 이러한 병목 현상을 완화하여 더 빠르고 효율적인 모델 개발과 개선을 가능하게 합니다. 특히 도메인 특화 모델을 개발하거나 새로운 기술을 가르치는 데 있어서, 해당 도메인의 원시 데이터만 있으면 자동으로 대규모의 고품질 훈련 데이터를 생성할 수 있다는 점은 매우 실용적인 가치를 제공합니다. + +또한 AgentInstruct의 접근법은 합성 데이터 생성을 서비스로 제공할 수 있는 가능성을 열어줍니다. 원시 자료로부터 시작하여 포스트 트레이닝 및 파인튜닝을 위한 데이터를 생성함으로써, 모든 기본 언어 모델의 지속적인 학습과 개선을 가능하게 할 수 있습니다. 이는 언어 모델이 새로운 지식을 습득하고, 새로운 도메인에 적응하며, 성능을 지속적으로 향상시킬 수 있는 체계적인 방법을 제공합니다. + +더 나아가 AgentInstruct 접근법은 더 크고 능력 있는 모델의 자기 개선에도 사용될 수 있다고 연구진은 믿습니다. 이는 두 가지 핵심 이유에 기반합니다. 첫째, 새로운 프롬프트를 생성할 수 있는 능력이 있습니다. 기존의 프롬프트 세트에 의존하는 대신, AgentInstruct는 원시 데이터로부터 완전히 새로운 프롬프트를 생성할 수 있으며, 이는 모델이 이전에 접하지 못한 새로운 시나리오와 과제를 학습할 수 있게 합니다. 둘째, 도구, 반성 등의 사용으로 인해 에이전틱 플로우에 사용된 언어 모델의 품질을 초과하는 응답을 생성할 수 있는 능력이 있습니다. 단일 언어 모델의 출력에 의존하는 대신, 여러 에이전트의 협력, 외부 도구의 활용, 그리고 반복적인 정제 과정을 통해 더 높은 품질의 데이터를 생성할 수 있습니다. + +이러한 자기 개선 메커니즘은 언어 모델이 자신의 출력을 개선하고 더 복잡한 문제를 해결할 수 있는 새로운 가능성을 열어줍니다. 모델이 생성한 데이터로 다시 훈련하는 반복적인 과정을 통해, 모델은 점진적으로 더 강력해질 수 있으며, 이는 인간의 지속적인 개입 없이도 성능 향상을 달성할 수 있는 경로를 제시합니다. 물론 이러한 접근법은 앞서 논의한 한계점들, 특히 모델 붕괴와 편향 증폭의 위험을 신중하게 관리해야 하지만, 적절한 안전장치와 품질 관리 메커니즘이 마련된다면 언어 모델 개발의 미래에 중요한 역할을 할 수 있을 것입니다. +## 에이전틱 플로우 세부사항 + +AgentInstruct 프레임워크의 실제 구현은 다양한 전문화된 에이전트들과 체계적인 인스트럭션 분류 체계를 통해 이루어집니다. 본 부록에서는 앞서 설명한 방법론의 구체적인 구현 세부사항을 제공하며, 특히 실제 사용된 프롬프트 템플릿과 시스템 메시지를 중심으로 설명합니다. + +### 독해 능력 플로우의 구현 세부사항 + +독해 능력을 위한 AgentInstruct 플로우는 9개의 변환 에이전트와 15개의 인스트럭션 카테고리로 구성됩니다. 각 변환 에이전트는 특정한 텍스트 유형을 생성하도록 설계되었으며, 인스트럭션 카테고리는 다양한 독해 능력을 평가하기 위한 질문 유형을 정의합니다. + +변환 에이전트들은 원시 텍스트를 독해 평가에 적합한 형태로 변환하는 역할을 담당합니다. Argument Passage Generator는 논리적 불일치를 포함할 수 있는 논증 구조의 지문을 생성하며, 이는 비판적 사고와 논리적 추론 능력을 평가하는 데 활용됩니다. Debate Passage Generator는 토론 대본의 구조와 내용을 모방하여 대립하는 관점들의 상호작용을 보여주는 지문을 만들어냅니다. Conversation Passage Generator와 Meeting Transcript Generator는 각각 대화와 회의록 형식의 텍스트를 생성하여 실용적 맥락에서의 의미 파악 능력을 테스트합니다. + +Poem Generator는 시적 형식으로 정보를 전달하여 은유와 상징을 이해하는 능력을 평가하며, Satirical Passage Generator는 풍자적 요소를 포함한 텍스트를 생성하여 비판적 독해와 행간의 의미 파악 능력을 측정합니다. Instructional Passage Generator는 교육적 목적의 단계별 지시사항을 포함한 텍스트를 만들고, Long Text Generator는 장문의 복잡한 텍스트를 생성하여 지속적인 집중력과 정보 통합 능력을 요구합니다. Identity Agent는 특정 관점이나 정체성을 가진 화자의 시각에서 텍스트를 재구성합니다. + +인스트럭션 분류 체계는 15개의 주요 카테고리로 구성되며, 각 카테고리는 특정한 독해 능력을 평가하도록 설계되었습니다. Literal Comprehension Question은 텍스트에 명시적으로 제시된 구체적인 세부사항이나 사실을 묻는 단답형 또는 목록형 질문입니다. Numerical Discrete Reasoning은 텍스트의 여러 사실에 대한 수치적 추론을 요구하는 질문으로, 정보를 종합하고 계산하는 능력을 평가합니다. Critical Comprehension Question은 텍스트의 목적이나 관점에 대한 두 개의 진술을 제시하고 참/거짓을 판단하도록 하는 형식입니다. + +Evaluative Comprehension Question은 텍스트의 주제나 논증의 효과성에 대한 심층 분석을 요구하는 개방형 에세이 질문입니다. Vocabulary and Language Use는 텍스트에서 사용된 특정 단어나 구문의 이해를 테스트하는 빈칸 채우기 형식입니다. Relationship Comprehension Question은 특정 기준에 따라 항목들을 짝짓는 매칭 질문이며, Sequencing Events는 텍스트의 사건들을 올바른 시간순으로 배열하는 질문입니다. + +논리적 추론 카테고리에는 특히 중요한 질문 유형들이 포함됩니다. Strengthen 질문은 논증의 결론을 더 타당하게 만드는 정보를 식별하도록 요구하며, Weaken 질문은 결론을 덜 타당하게 만드는 증거나 논증을 찾도록 합니다. Assumption 질문은 논증이 성립하기 위해 반드시 참이어야 하는 필수 가정을 결정하도록 하며, Flaw 질문은 논증의 추론에서 실수를 지적하도록 요구합니다. + +Inference 질문은 제공된 정보로부터 논리적으로 따라오는 선택지를 고르도록 하며, Principle 질문은 논증의 기저에 있는 일반적인 규칙이나 원리를 인식하도록 합니다. Method of Reasoning 질문은 논증이 논리적으로 어떻게 구성되었는지 설명하도록 요구하며, Resolve the Paradox 질문은 겉보기에 모순되는 정보를 조화시키는 설명을 제시하도록 합니다. + +### 텍스트 수정 플로우의 인스트럭션 분류 체계 + +텍스트 수정 능력을 위한 인스트럭션 분류 체계는 18개의 작업 유형으로 구성되며, 각 유형은 텍스트를 특정 방식으로 변환하거나 수정하는 능력을 평가합니다. Paraphrasing은 원본의 의미를 유지하면서 다른 단어와 문장 구조를 사용하여 텍스트를 재작성하는 작업입니다. Text Simplification은 더 간단한 단어와 문장 구조를 사용하여 텍스트를 더 읽기 쉽고 이해하기 쉽게 만드는 작업으로, 주로 어린이나 언어 학습자를 대상으로 합니다. + +Text Expansion은 텍스트를 더 포괄적으로 만들거나 특정 단어 수를 충족하기 위해 더 많은 정보나 세부사항을 추가하는 작업입니다. Text Translation은 원본의 의미를 가능한 한 가깝게 보존하면서 한 언어에서 다른 언어로 텍스트를 변환하는 작업입니다. Text Formatting은 가독성을 향상시키거나 문체적 목적을 위해 텍스트의 외관을 변경하는 작업입니다. + +Sentiment Modification은 텍스트의 톤을 변경하여 감정적 영향을 바꾸는 작업으로, 문장을 더 긍정적이거나 부정적으로 들리게 만드는 것을 포함합니다. Text Annotation은 분석 목적이나 추가 맥락을 제공하기 위해 텍스트에 메모, 주석 또는 설명을 추가하는 작업입니다. Keyword Replacement는 특정 단어나 구문을 동의어나 관련 용어로 대체하는 작업입니다. + +Text Removing은 텍스트에서 콘텐츠를 삭제하거나 제거하는 작업입니다. Text Capitalization은 대문자, 소문자, 제목 케이스 또는 문장 케이스로 변환하거나 모든 문장을 특정 문자나 단어로 시작하는 등 텍스트의 문자 케이스를 조정하는 작업입니다. Text Styling은 텍스트의 특정 부분을 강조하거나 미적 목적을 위해 굵게, 기울임꼴, 밑줄 등의 스타일을 적용하는 작업입니다. + +Content Rewriting은 관점, 스타일 또는 대상 청중을 변경하는 것을 포함하여 새로운 버전을 생성하기 위해 텍스트를 광범위하게 수정하는 작업입니다. Data Normalization은 날짜와 시간을 표준 형식으로 변환하거나 단어의 철자를 통일하는 등 일관성을 보장하기 위해 텍스트를 표준화하는 작업입니다. Plagiarism Rewording은 콘텐츠가 독창적임을 보장하기 위해 표절을 피하도록 텍스트를 변경하는 작업입니다. + +Code Switching은 이중 언어 화자의 패턴을 반영하거나 창의적 글쓰기를 위해 텍스트 내에서 언어나 방언을 번갈아 사용하는 작업입니다. Text Obfuscation은 개인 데이터 마스킹과 같은 보안 목적으로 텍스트를 의도적으로 모호하게 만들거나 이해하기 어렵게 만드는 작업입니다. Textual Entailment는 자연어 처리 작업에서 자주 사용되는 것으로, 한 문장이나 구문을 다른 문장을 함의하거나 모순되도록 수정하는 작업입니다. Rewriting with vocabulary limitations는 제한된 어휘를 사용하여 전체 텍스트나 일부를 재작성하는 작업으로, 예를 들어 모든 단어가 문자 'a'로 시작하거나, 모든 n번째 단어가 문자 'b'로 시작하거나, 각 문장이 '모음'으로 시작하는 등의 제약을 포함합니다. + +### 평가 방법론의 구체적 구현 + +AgentInstruct로 훈련된 모델의 평가는 작업 유형에 따라 서로 다른 방법론을 사용합니다. 평가 프로세스는 GPT-4를 활용한 자동화된 추출 및 채점 시스템을 중심으로 구성되며, 각 벤치마크 유형에 맞는 특화된 시스템 메시지와 프롬프트 템플릿을 사용합니다. + +객관식 질문(Multiple Choice Questions)의 경우, 모든 모델은 빈 시스템 메시지를 사용하는 개방형 생성 설정에서 평가됩니다. 모델의 응답에서 선택된 옵션을 추출하기 위해 정규 표현식 기반 추출 대신 GPT-4를 사용합니다. GPT-4 추출을 위한 시스템 메시지는 다음과 같은 구조를 따릅니다. + +평가자 어시스턴트는 학생 응답을 파싱하여 시험 평가자를 지원합니다. 편향되지 않은 평가자로서 자신의 지식에 의존하지 않고 사용자가 제공한 맥락을 고수합니다. 질문, 답변 옵션 및 학생의 응답이 제공되며, 학생이 응답에서 최종 답변으로 선택한 옵션을 파싱하여 제공된 옵션에서 해당 답변의 알파벳 ID를 반환하는 것이 과제입니다. 학생이 여러 답변을 제공한 경우 목록으로 반환합니다. + +정확한 일치 또는 범위 추출 문제(Exact Match/Span Extraction Problems)의 경우, GSM8K와 같은 수학 기반 질문과 DROP과 같이 정답 값이 제공되는 문제에 대해 모델에게 답변을 생성하도록 프롬프트하고 GPT-4를 사용하여 정확한 답변을 추출하고 제공된 정답과 일치시켜 모델의 답변이 '정답' 또는 '오답'인지에 대한 최종 판정을 생성합니다. 수학 기반 질문에는 특정 시스템 메시지를 사용하고, 다른 모든 정확한 일치/범위 추출 문제에는 다른 시스템 메시지를 사용합니다. + +수학 문제를 위한 GPT-4 추출 시스템 메시지는 전문 수학 교사로서 학생의 답변을 평가하는 역할을 정의합니다. 문제에는 문제 출제자가 제공한 정답 솔루션이 함께 제공됩니다. 단어 문제를 해결하는 다양한 방법이 있을 수 있으므로 학생의 단계가 항상 문제 출제자의 솔루션과 일치하지 않을 수 있다는 점을 기억하는 것이 중요합니다. 그러나 일반적으로 숫자인 최종 답변은 고유해야 하며 문제 출제자의 답변과 일치해야 합니다. + +일반 추출 시스템 메시지는 평가자 어시스턴트로서 학생 응답을 파싱하여 시험 평가자를 지원하는 역할을 정의합니다. 편향되지 않은 평가자로서 자신의 지식에 의존하지 않고 사용자가 제공한 맥락을 고수합니다. 정답과 학생의 응답이 제공되며, 학생의 응답에서 답변을 파싱한 다음 정답과 일치시키는 것이 과제입니다. 학생의 최종 답변이 제공된 정답과 일치하면 '정답'을 출력하고, 그렇지 않으면 '오답'을 출력합니다. + +EQBench의 경우, 모델에게 프롬프트의 대화가 주어졌을 때 감정 점수를 생성하도록 프롬프트하고 GPT-4를 사용하여 모델이 각 감정에 대해 생성한 점수를 추출합니다. 메트릭 점수는 EQBench 논문과 제작자의 GitHub 저장소에 설명된 버전 1 및 2 구현을 모두 사용하여 생성됩니다. 점수 계산은 0점이 무작위로 답변하는 것에 해당하고 100점이 참조 답변과의 완벽한 일치를 나타내도록 보정됩니다. + +EQBench GPT-4 추출 시스템 메시지는 학생 에이전트 응답을 제공받으며, 이는 가능한 감정과 각 감정에 대한 0-10점의 점수, 단계별 비평, 그리고 수정된 점수로 구성됩니다. 0도 유효한 점수라는 점을 기억해야 합니다. 감정도 제공되며, 학생 에이전트 응답에서 각 감정에 대한 수정된 점수를 파싱하는 것이 과제입니다. + +개방형 생성(Open-Ended Generation) 작업의 경우, 모델이 개방형 질문에 대한 답변을 생성하도록 프롬프트되지만 답변과 일치시킬 정답이 제공되지 않는 작업입니다. FOFO 벤치마크는 GPT-4(버전 0613)를 판정자로 사용하여 평가되며, 벤치마크의 원본 논문에서 제공된 판정자 시스템 메시지를 사용합니다. GPT-4는 0에서 1 사이의 형식 정확도 점수를 제공하며, 1은 모델의 응답이 프롬프트에 지정된 형식을 엄격하게 따른다는 것을 의미하고 0은 그렇지 않다는 것을 의미합니다. + +IFEval 벤치마크는 모델 응답이 프롬프트에 제공된 검증 가능한 인스트럭션을 따르는지 확인해야 하며, 이를 위해 저자가 제공한 코드를 사용합니다. MT-Bench 벤치마크는 첫 번째 턴 쿼리와 평가된 모델의 응답과 독립적인 두 번째 턴 쿼리로 구성됩니다. 벤치마크는 GPT-4를 사용하여 각 턴의 응답을 판정하고 1에서 10까지의 점수를 제공합니다. 모든 상호작용에 대한 평균 점수가 보고됩니다. + +AlpacaEval에서는 강력한 LLM(이 경우 GPT-4-turbo 버전 0613)이 참조 답변보다 평가된 모델의 출력을 선호하는 횟수인 승률을 측정합니다. InfoBench도 GPT-4(버전 1106-preview)를 판정자로 사용하여 평가되며, 모델 응답이 분해된 인스트럭션을 따르는지 결정하고 벤치마크 제작자가 제공한 구현을 사용합니다. + +요약 품질 및 환각 평가를 위해서는 특별한 프롬프트 템플릿이 사용됩니다. 환각 탐지를 위한 프롬프트 템플릿은 요약 인스트럭션과 생성된 요약이 제공되며, 생성된 요약에 환각이 있는지 결정하는 것이 과제입니다. 생성된 요약의 각 섹션을 검토하여 기사에서 요약의 정확성을 검증하는 데 사용할 수 있는 관련 사실을 추출하고, 섹션에 환각이 포함되어 있는지 여부를 결정합니다. 최종적으로 환각이 탐지되었는지 여부와 환각된 텍스트 부분의 정확한 범위를 JSON 형식으로 출력합니다. + +품질 평가를 위한 프롬프트 템플릿은 공정한 판정자로서 사용자 인스트럭션에 대한 AI 어시스턴트의 응답 품질을 평가하는 역할을 정의합니다. 평가는 인스트럭션 준수(응답이 사용자 인스트럭션을 올바르게 따르는가), 콘텐츠 근거(답변이 인스트럭션에 근거하며 이미 존재하는 것 이상의 새로운 콘텐츠를 도입하지 않는가, 환각에 대한 페널티), 전반적인 품질(응답의 명확성, 일관성 및 완전성)을 평가해야 합니다. 평가는 답변의 장단점을 강조하는 짧은 설명으로 시작하며, 가능한 한 객관적이어야 합니다. 설명을 제공한 후 1에서 10까지의 척도로 응답의 전반적인 품질을 평가합니다. + +이러한 상세한 평가 방법론은 AgentInstruct로 생성된 데이터의 효과를 다양한 차원에서 측정할 수 있게 하며, 각 벤치마크 유형에 맞는 특화된 평가 프로세스를 통해 모델의 능력을 종합적으로 평가합니다. +- - - +### References +* [AgentInstruct: Toward Generative Teaching with Agentic Flows](http://arxiv.org/pdf/2407.03502v1) \ No newline at end of file diff --git a/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/0.png b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/0.png new file mode 100644 index 0000000..ab23ca0 Binary files /dev/null and b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/0.png differ diff --git a/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/1.png b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/1.png new file mode 100644 index 0000000..11ebcb4 Binary files /dev/null and b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/1.png differ diff --git a/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/2.png b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/2.png new file mode 100644 index 0000000..cb2fc38 Binary files /dev/null and b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/2.png differ diff --git a/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/3.png b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/3.png new file mode 100644 index 0000000..10bc8c3 Binary files /dev/null and b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/3.png differ diff --git a/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/4.png b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/4.png new file mode 100644 index 0000000..9256ab2 Binary files /dev/null and b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/4.png differ diff --git a/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/5.png b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/5.png new file mode 100644 index 0000000..05fc45e Binary files /dev/null and b/assets/2025-10-18-agentinstruct--toward-generative-teaching-with-agentic-flows/5.png differ