논문

23. ROLELLM: BENCHMARKING, ELICITING, AND ENHANCING ROLE-PLAYING ABILITIES OF LARGE LANGUAGE MODELS

정일균 2024. 6. 2. 12:23

페르소나 관련 연구소에 들어가기 위해서 지식정리를 할겸 다른 페르소나 관련 논문도 공부~


LLM의 도입은 롤 플레잉과 같은 복잡한 작업을 가능하게 하여 다양한 캐릭터를 흉내내는 모델을 통해 사용자 상호작용을 향상시키고 있습니다.

그러나 최첨단 LLM의 폐쇄 소스 성격과 일반적인 목적의 훈련은 롤 플레잉 최적화를 제한합니다.

이 논문에서는 LLM에서 롤 플레잉 능력을 벤치마킹하고, 유도하며, 향상시키는 프레임워크인 RoleLLM을 소개합니다.

RoleLLM은 다음과 같은 네 단계로 구성됩니다:

(1) 100개의 역할에 대한 역할 프로필 구축

(2) 역할별 특정 지식 추출을 위한 Context-Based Instruction Generation (Context-Instruct)

(3) 말하는 스타일 모방을 위한 Role Prompting using GPT (RoleGPT)

(4) 역할 맞춤화와 함께 오픈 소스 모델을 미세 조정하는 Role-Conditioned Instruction Tuning (RoCIT).

 

Context-Instruct와 RoleGPT를 통해, 우리는 롤 플레잉을 위한 첫 번째 체계적이고 세밀한 캐릭터 레벨 벤치마크 데이터셋인 RoleBench를 생성합니다.

이 데이터셋은 168,093개의 샘플을 포함합니다. 또한, RoleBench에서 RoCIT를 수행함으로써, RoleLLaMA (영어) 및 RoleGLM (중국어)를 개발하여 롤 플레잉 능력을 크게 향상시키고, 심지어 GPT-4를 사용한 RoleGPT와 비교할 수 있는 결과를 달성했습니다.


ChatGPT2, GPT-4, 및 PaLM 과 같은 LLM은 AI 발전에서 중요한 이정표로 널리 인정받고 있습니다. LLM의 등장은 NLP 커뮤니티에서 패러다임의 변화를 촉진하여, 전통적인 다운스트림 작업(예: 번역(Liu et al., 2020), 질문 응답에서 도구 사용 및 롤 플레잉과 같은 더 복잡하고 에이전트 수준의 작업으로 초점을 이동시켰습니다.

이러한 응용 분야 중 롤 플레잉은 LLM을 다양한 캐릭터나 페르소나를 시뮬레이션할 수 있도록 사용자 맞춤화하거나 활성화하여 더 미묘한 상호작용 경험을 제공하고, LLM을 더 친숙하고 동반자 같으며 몰입감 있는 것으로 만들려고 합니다

그러나 기존의 오픈소스 LLM은 주로 일반 도메인에서 훈련되어 롤 플레잉을 위한 특정 최적화가 부족합니다.

또한, GPT-4와 같은 SOTA LLM은 고급 롤 플레잉 기능을 보여주지만, 폐쇄 소스라는 성격은 높은 API 비용, 미세 조정 불가능, 제한된 컨텍스트 창 크기 등의 제약을 초래합니다.

 

이러한 문제를 완화하기 위해 기존에는 폐쇄 소스 및 오픈 소스 모델 모두에 대한 여러 방법이 제안되었습니다.

그러나 다음과 같은 제한이 있습니다

(1) 제한된 세분성: 주로 개략적인 성격 특성, 직업 또는 페르소나(예: 프로그래머, 작가)에 중점을 두어 미묘한 상호작용과 풍부한 경험을 위한 더 복잡하고 세밀한 캐릭터 수준의 롤 플레잉(예: 셜록 홈즈)을 간과합니다

(2) 데이터 및 벤치마크 부족: 고품질, 다양하고 광범위한 오픈 소스 데이터셋이 부족하며, 평가를 위한 벤치마크도 부족합니다

(3) API 및 컨텍스트 비용: ChatGPT 및 GPT-4와 같은 폐쇄 소스 모델에 의존하는 방법은 미세 조정을 자유롭게 할 수 없으므로 모든 보조 정보를 프롬프트에 포함해야 하며, 필요 이상으로 컨텍스트 창을 차지합니다. 게다가 API 비용은 지나치게 높습니다.

 

따라서 컨텍스트 창 활용을 최소화하고 오픈 소스 모델을 미세 조정에 기반한 솔루션을 탐색하는 것이 연구 가치가 있습니다. 이 논문에서는 폐쇄 소스 및 오픈 소스 모델 모두를 위한 데이터 구축, 평가 및 솔루션 프레임워크인 RoleLLM을 소개합니다.

 

그림 2에서 RoleLLM은 네 가지 주요 단계를 포함합니다

(1) 역할 프로필 구축: 우리는 916개의 영어 및 24개의 중국어 공개 스크립트에서 세심하게 선택된 다양한 성격의 95개의 영어 및 5개의 중국어 역할 프로필을 구축합니다

(2) Context-Based Instruction Generation (Context-Instruct): 우리는 GPT를 사용하여 세분화된 프로필에서 고품질 QA 쌍을 생성하여 역할별 지식을 추출합니다

(3) Role Prompting using GPT (RoleGPT): 우리는 대화 엔지니어링 기반 롤 프롬프팅을 통해 GPT에서 롤 플레잉 능력을 유도하고, 시스템 명령 및 검색 증강을 활용하여 말하기 스타일 모방을 위한 맞춤형 응답을 생성합니다

(4) Role-Conditioned Instruction Tuning (RoCIT): 우리는 Context-Instruct 및 RoleGPT에서 생성된 168,093개의 롤 플레잉 샘플이 포함된 포괄적인 데이터셋 RoleBench에 대한 컨텍스트 효율적인 롤 조건을 기반으로 오픈 소스 LLaMA  및 ChatGLM23를 미세 조정함으로써 RoleLLaMA 및 RoleGLM을 얻습니다. 우리의 지식에 따르면, RoleBench는 세밀한 롤 플레잉을 위한 첫 번째 체계적인 지시-조정 데이터셋 및 벤치마크입니다.

우리의 실험에서는 세 개의 Rouge-L 기반 메트릭을 사용하여 모델을 말하기 스타일 모방, 답변 정확성 및 역할별 지식 포착에 대해 평가합니다. GPT 기반 평가자도 사용되며, 이는 AlpacaEval과 일치합니다.

 

우리의 주요 발견은 다음과 같습니다

(1) 대화 엔지니어링이 RoleGPT를 위한 프롬프트 엔지니어링보다 GPT 평가자들에게 선호됩니다

(2) RoleBench는 모델의 롤 플레잉 능력을 현저히 개선하며, 일부 경우에서는 RoleGPT와 경쟁적인 결과를 달성합니다

(3) RoleLLaMA는 보이지 않는 역할에 대해 말하기 스타일 모방 및 정확성에서 견고한 일반화를 보여주며, 효과적인 적응을 위해 역할 설명 및 캐치프레이즈만 필요로 하여 사용자에게 새로운 역할의 원활한 맞춤화를 가능하게 합니다

(4) 시스템 명령 기반 접근법이 롤 맞춤 효과 및 컨텍스트 효율성에서 검색 증강을 능가합니다

(5) Context-Instruct는 모델이 그들의 역할에 대해 알고 있는 지식을 크게 향상시키며, 소음이 있는 롤 프로필을 사용할 때 검색 증강 기반 방법보다 우수합니다.

 

요약하면, 이 연구는 GPT 및 오픈 소스 대규모 언어 모델의 롤 플레잉 능력을 유도, 벤치마크 및 향상시키려는 목표를 가지고 있으며, 롤 플레잉 LLM 에이전트에 대한 추가 연구를 촉진하고자 합니다.


 

Role-Playing

최근 LLM 커뮤니티의 발전은 LLM 맞춤화와 롤 플레잉의 가능성을 보여주었습니다

특정 역할을 수행함으로써 LLM은 더 생생해지고, 상호작용적이며, 개인화되고, 복잡한 작업을 수행할 수 있게 됩니다. 그러나 오픈 소스 LLM은 여전히 GPT와 같은 SOTA 폐쇄 소스 LLM에 비해 롤 플레잉 능력에서 상당히 뒤처져 있습니다. 또한, 우리의 최선의 지식으로는 롤 플레잉 능력을 평가할 체계적이고 세밀한 벤치마크가 존재하지 않습니다. 따라서 우리는 이 격차를 메우기 위해 오픈 소스 LLM의 롤 플레잉 능력을 증진시키고 롤 플레잉을 위한 첫 번째 벤치마크를 구축하는 데 주력합니다.

 

Data Augmentation for Instruction Tuning

Instruction Tuning(즉, 감독된 미세 조정, SFT)은 LLM이 명령을 따르는 능력을 향상시키는 것을 목표로 합니다. SFT의 주요 도전 중 하나는 고품질이고 다양한 명령 데이터를 획득하는 것입니다. 그러나 수작업으로 고품질의 명령 데이터를 주석 처리하는 것은 비용이 많이 듭니다. 다행히도 현재 SOTA LLM인 GPT-4는 다양한 작업과 도메인에서 데이터 품질 및 주석 비용 측면에서 인간 주석자보다 우수하다고 점점 더 간주되고 있습니다. 따라서 이러한 LLM을 데이터 증강에 사용하는 것이 일반적인 관행이 되고 있습니다. 일반 도메인의 명령 따르기 강화 및 특정 작업 또는 특정 도메인 적용을 위해 사용됩니다. 예를 들어, Self-Instruct는 몇 가지 시드 예제를 사용하여 LLM에 프롬프트를 제공함으로써 명령 튜닝 데이터를 확장할 것을 제안합니다


Role-Playing에 대한 접근 방식을 설명합니다.

 

Design Prompt

Speaking style imitation

특정 역할의 말하기 스타일을 모방하기 위해 모델의 지시에 대한 응답은 우리의 설계에 따라 두 가지 기준을 충족해야 합니다

(1) 어휘 일관성: 모델의 응답은 캐릭터가 일반적으로 사용하는 유행어 또는 관용구를 포함하여 역할의 독특한 언어 스타일과 어휘적 일치를 보장해야 합니다

(2) 대화 충실성: 모델은 상황에 맞는 응답뿐만 아니라 캐릭터의 예시 대화와 스타일적으로 유사한 응답을 생성해야 합니다. 예를 들어, 해적 캐릭터의 어휘 일관성은 "aweigh"와 같은 해상 용어와 "matey" 또는 "ahoy"와 같은 애완구를 자주 사용하는 것을 포함합니다. 또한, 대화 충실성은 캐릭터의 독특한 문법과 톤(예: 구어적 표현, 거친 말투, 모험과 무법 상태를 떠올리게 하는 톤)을 포착해야 합니다.

 

Role-Specific Knowledge and Memory Injection

Role-Playing의 또 다른 중요한 측면은 역할 특정 지식과 에피소드 기억을 주입하는 것입니다.

고려되는 두 가지 지식 범주는 다음과 같습니다:

(1) Script-Based Knowledge

캐릭터의 자세한 배경, 에피소드 기억, 캐릭터가 경험한 특정 사건과 같은 스크립트에 문서화된 명시적 세부 정보를 포함합니다

(2) Script-Agnostic Knowledge

은 캐릭터가 보유할 수 있는 일반 지식 또는 전문 지식을 포함합니다. 예를 들어, 아이언맨으로 활동할 때 LLM은 토니 스타크가 동굴에 갇힌 채 처음 아이언맨 수트를 만든 것과 같은 대본 기반 지식(e.g., 토니 스타크의 창조)과 기업가로서의 비즈니스 감각, 리더십 품질, 기술 전문 지식과 같은 대본 무관 지식을 포함해야 합니다.

 

RoleGPT: Eliciting Role-Playing Abilities via Dialogue Engineering

Dialogue Engineering을 통한 Role-Playing Abilities Eliciting 미세 조정에 대한 제약을 감안할 때, Role-Playing을 위한 GPT 맞춤은 주로 제로샷 맞춤 지시 및 퓨샷 프롬프트 엔지니어링(즉, 상황 내 학습)과 같은 프롬프트를 사용하는 것을 포함합니다. OpenAI의 Chat Markup Language 지침을 따릅니다. 그러나 대화 역사 모델링을 위해 상황 내 학습 능력을 트레이드한 ChatGPT 및 GPT-4의 경우, 전통적인 퓨샷 프롬프트 엔지니어링만으로는 롤 플레잉 능력을 완전히 유도하기에 충분하지 않습니다. 따라서 우리는 퓨샷 프롬프팅 접근 방식을 대화 엔지니어링으로 수정합니다. 특히, 우리는 감사된 GPT-4를 사용하여 캐릭터 설명 및 유행어를 맞춤 지시의 핵심으로 생성한 후, "Please speak like [role_name]"과 같은 전체 롤 플레잉 작업 지시를 포함하고 BM25를 사용하여 역할 프로필에서 상위 5개 관련 대화 쌍을 검색하여 퓨샷 시연을 수행합니다. 이를 통해 RoleGPT의 응답은 캐릭터의 말하기 스타일을 포착하고 일부 역할 특정 지식을 포함할 수 있습니다. 그러나 프로필의 희소성과 노이즈는 검색 증강을 통한 지식 발견의 효과를 제한합니다.

 

Context-Instruct: Context-based Instruction Generation

합성 지시 데이터셋 내에서 역할 특정 지식의 밀도를 높이기 위해, 우리는 긴 텍스트 지식 추출 및 지시 데이터 생성을 위한 Context-Instruct를 도입합니다. 역할 특정 지시 데이터 생성은 세 단계로 구성됩니다

 

역할 프로필 분할: GPT의 제한된 맥락 크기를 고려하여, 우리는 역할 프로필을 더 관리하기 쉬운 세그먼트로 세심하게 분할합니다. 역할 프로필에는 (a) 역할 설명 및 유행어, 그리고 (b) 구조화된 대화(부록 I 참조)가 포함됩니다. 세그먼트 (a)는 대본 무관 지시를 얻기 위해 사용되며, 여러 세그먼트 (b)는 대본 기반 지시를 얻기 위해 사용됩니다.

 

지시 및 응답 생성: 그림 2에서 보여지듯이, 역할 특정 지시 데이터 후보를 생성하는 과정에서 세 가지 요소를 고려합니다: 주어진 세그먼트(즉, 문맥)와 관련된 질문(Q), 해당 답변(A), 그리고 신뢰도 점수 및 이유(C). LLM은 각 역할과 세그먼트마다 이 트리플렛을 생성하는 데 사용됩니다. 초기 시험에서는 신뢰도 점수 없이 QA 쌍을 생성할 경우, 대본 기반 지시에 대해 불완전한 질문이 자주 나타나거나, 문맥 부족으로 인해 대본 무관 지시에 환각이 포함되는 경우가 있었습니다. 이를 해결하기 위해, Lin et al.과 Xiong et al. 에 영감을 받아 모델에게 질문의 완성도나 사실성을 평가하기 위해 신뢰도 점수와 이유도 생성하도록 요청합니다. 프롬프트 템플릿에는 역할 설명, 유행어, 퓨샷 예시 및 말하기 스타일 모방과 트리플렛 생성을 위한 작업 지시가 포함됩니다. 생성 과정은 각 역할마다 최소 400개의 후보를 여러 모델 실행을 통해 생성합니다.

 

데이터 필터링 및 후처리: 필터링 절차는 신뢰도 점수 기반 필터링과 중복 제거를 포함하여 데이터 품질과 다양성을 보장합니다. 필터링 및 후처리에 대한 자세한 내용은 부록 C를 참조하십시오.

 

RoCIT: 역할 조건부 명령 튜닝 일반 도메인 지시에 대해 RoleGPT에 의해 생성된 데이터와 역할 특정 지시에 대해 Context-Instruct를 통해 생성된 두 가지 유형의 증강 데이터가 있습니다. 이 데이터에 대한 미세 조정은 모델의 말하기 스타일을 개선할 뿐만 아니라 역할 특정 지식을 그들의 가중치에 내장합니다. 이를 영어용 LLaMA와 중국어용 ChatGLM2에 적용함으로써, 우리는 RoleLLaMA와 RoleGLM을 얻습니다. 일반적인 감독된 미세 조정과 달리, 우리는 역할 맞춤을 위한 특정 전략을 통합하는 역할 조건부 미세 조정을 사용합니다. 이는 시스템 지시와 검색 증강을 포함합니다.


4 RoleBench: 롤 플레잉 능력 벤치마킹 이 섹션에서는 RoleBench를 구축하는 방법과 분석을 제공합니다. RoleBench는 롤 플레잉 능력을 평가하고 이러한 능력을 향상시키는 데 사용할 수 있습니다.

4.1 데이터 구축 RoleBench 데이터셋 구축은 다음 다섯 단계로 구성됩니다: (1) 역할 선택; (2) 역할 프로필 구축; (3) 일반 지시 샘플링; (4) 원시 RoleBench 데이터 생성; (5) RoleBench 데이터셋 정리.

첫째, NLP 영화 스크립트, SummScreen (Chen et al., 2022), 수작업으로 선별된 중국어 스크립트 등 다양한 스크립트에서 100개의 대표적이고 독특한 캐릭터를 GPT-4의 도움을 받아 세심하게 선택합니다. 둘째, 역할 프로필은 GPT-4가 생성한 역할 설명과 유행어, 저자에 의해 검증된 내용, 스크립트에서 파싱된 구조화된 대화로 구성됩니다(부록 I 참조). 셋째, 여러 데이터셋에서 1,500개의 영어 일반 지시를 무작위로 샘플링합니다. 이 데이터셋에는 Super-NaturalInstruct (Wang et al., 2022b), UltraChat (Ding et al., 2023), Alpaca’s (Taori et al., 2023)가 포함됩니다. 또한 COIG (Zhang et al., 2023a) 및 BELLE’s (Yunjie et al., 2023)를 샘플링하여 1,479개의 중국어 일반 지시를 획득합니다. 모든 샘플 지시는 100단어를 초과하지 않습니다. 우리는 BM25 (Robertson and Zaragoza, 2009) 유사성을 기반으로 중복을 제거합니다. 넷째, 각 일반 지시에 대해 RoleGPT를 사용하여 다양한 응답을 얻습니다(RoleBench-general) 및 Context-Instruct를 사용하여 역할별 질문-답변 쌍을 생성합니다(RoleBench-specific). 마지막으로, 획득한 원시 데이터셋은 응답의 완성도, AI 및 역할 정체성 은폐, 거부 없음을 보장하기 위해 철저한 정리 과정을 거칩니다. 자세한 내용은 부록 D를 참조하십시오.

4.2 데이터 분석 그림 3: 역할 카테고리의 워드 클라우드. 우리는 GPT-4 API를 사용하여 RoleBench-general-en (영어) 및 RoleBench-general-zh (중국어)를 획득합니다. Context-Instruct는 GPT-3.5 API를 기반으로 RoleBench-specific-en 및 RoleBench-specific-zh를 생산합니다. 역할 선택 및 설명과 유행어 생성도 모두 GPT-4 API를 사용하여 수행됩니다. GPT API 호출에 대한 매개변수는 부록 F에 나와 있습니다. 아래에서는 RoleBench에 대한 개요를 제공하며, 역할 목록은 부록 E를 참조하도록 독자들에게 안내합니다.

통계 및 품질. 표 1은 RoleBench의 기본 통계를 제공합니다. Wang et al. (2022a)을 따라 일반 및 역할별 하위 집합에서 각각 100개의 인스턴스를 무작위로 샘플링하여 RoleBench의 품질을 평가하고, 전문 주석가에게 세 가지 측면에서 그 품질을 평가하도록 요청했습니다. 표 2의 결과는 대부분이 높은 품질임을 나타냅니다. 유효하고 무효한 예시는 부록 J를 참조하십시오.

다양성. 우리는 RoleBench의 포괄성과 다양성을 분석합니다. 그림 4는 RoleBench-en 지시의 동사-명사 구조를 보여주며, 상위 10개 동사(내부 원)와 그들의 상위 4개 직접 명사 객체(외부 원)가 표시되어 있으며, 지시의 5.6%를 차지합니다. 또한, 우리는 RoleBench 역할을 여러 클래스로 분류하고 그 다양성을 보여주기 위해 그림 3에서 워드 클라우드를 구축합니다. 지시 및 응답의 길이 분포는 그림 5에서 보여집니다.



5 실험

5.1 실험 설정 RoleLLaMA & RoleGLM. LLaMA-7B 모델(Touvron et al., 2023)은 LoRA 튜닝(Hu et al., 2022)을 활용하여 RoleBench-general-en 및 RoleBench-specific-en에 미세 조정됩니다. 마찬가지로, ChatGLM2-6B 모델(Zeng et al., 2022; Du et al., 2022)은 같은 기술을 사용하여 RoleBench-general-zh 및 RoleBench-specific-zh에 미세 조정됩니다. LLaMA-7B는 사전 훈련된 모델일 뿐이며, ChatGLM2-6B는 명령 따르기 및 대화 능력이 강화된 상태에서 사후 훈련되었습니다. 자세한 내용은 부록 F를 참조하십시오. 기준선. RoleGPT는 중국어 및 영어 역할에 대한 강력한 기준선입니다(GPT-4). 영어 역할의 경우 LLaMA-7B 및 그 지시 조정 변형, Vicuna-13B(Chiang et al., 2023) 및 Alpaca-7B(Taori et al., 2023)가 기준선으로 사용됩니다. 중국어 역할의 경우 ChatGLM2-6B가 기준선입니다. 다중 턴 대화 모드에서 스크립트 데이터로 훈련된 모델도 추가적인 기준선으로 포함됩니다. 평가 프로토콜. 우리는 Rouge-L(Lin, 2004)을 사용하여 모델 예측과 기준 진실 간의 겹침을 측정합니다. 기준 진실은 세 가지 범주로 구성됩니다: (1) 롤 플레잉 없이 일반 지시의 원시 기준 진실(RAW); (2) RoleBench-general에서 롤 플레잉과 함께 맞춤화된 일반 지시 응답(CUS); (3) RoleBench-specific에서 역할 특정 지시 응답(SPE). RAW는 모델의 지시에 대한 응답 정확성을 평가합니다. CUS는 특정 역할과 관련된 말하기 스타일을 모방하는 모델의 능력을 평가합니다. SPE는 모델의 역할 특정 지식과 기억을 테스트합니다. AlpacaEval(Li et al., 2023c)을 따라, GPT 평가자의 신뢰성이 입증되었기 때문에(Gilardi et al., 2023; Zheng et al., 2023), GPT를 평가자로 사용합니다. AlpacaEval의 약간의 수정을 거친 GPT 평가자 프롬프트는 부록 K.5에 자세히 설명되어 있습니다. 이 프롬프트는 샘플 비교와 순위 결정을 돕고, 승률 또는 평균 순위를 얻는 데 도움을 줍니다. 우리의 훈련-테스트 세트 분할 전략은 두 가지 차원에 초점을 맞춥니다: (1) 지시 기반 분할로 지시 일반화를 평가하고, (2) 영어로 제한된 역할 기반 분할로 역할 일반화를 평가합니다. 자세한 내용은 부록 G를 참조하십시오.

5.2 주 실험 지시 일반화(영어). 표 3a와 3b는 각각 Rouge-L 및 GPT 점수를 보여주며, 지시 일반화 능력을 평가합니다. GPT-3.5 평가에서 각 모델은 RoleGPT와 비교되어 GPT-3.5에 의해 RoleGPT보다 더 선호되는 빈도를 나타내는 승률을 결정합니다. RoleLLaMA는 말하기 스타일 모방(CUS), 응답 정확성(RAW), 역할 특정 지식(SPE) 측면에서 지시 조정 기준선 및 바닐라 베이스 모델에 비해 상당한 성능 향상을 보여줍니다. 또한, 스크립트의 원본 대화 데이터에 직접 조정된 LLaMA-script는 기본 LLaMA보다 성능이 저조하여 스크립트 데이터의 잡음 제거 필요성을 보여줍니다. Alpaca/Vicuna와 LLaMA 간의 비교는 롤 플레잉에서 일반 목적 지시 조정의 효과를 나타냅니다. 그러나 RoleLLaMA와 Alpaca/Vicuna 간의 차이는 LLM이 단순한 일반 목적의 지시 따르기를 넘어서 롤 플레잉 능력을 향상시킬 필요성을 강조합니다. 또한, 말하기 스타일 모방(CUS) 및 응답 정확성(RAW) 측면에서 RoleGPT에 뒤처지는 RoleLLaMA는 역할 특정 지식에서 RoleGPT를 능가하여 우리의 Context-Instruct 기술의 효과를 나타냅니다.

 

지시 일반화(중국어). 우리는 또한 중국어 역할 5개를 대상으로 지시 조정 LLM을 사용한 실험을 수행합니다(표 4a 및 표 4b). 롤 플레잉 데이터의 강화 없이도 ChatGLM2는 특히 역할 특정 지식 측면에서 주목할만한 롤 플레잉 성능을 보여줍니다. 그러나 RoleBench와의 미세 조정은 모든 메트릭에서 그 성능을 더욱 향상시키며, 심지어 RoleGPT가 달성한 점수를 약간 초과하기도 합니다.

역할 일반화(영어). 표 5a와 표 5b에서 고려한 10개의 보류된 보이지 않는 역할을 고려할 때, RoleLLaMA는 말하기 스타일 모방(CUS) 및 정확성 유지(RAW) 측면에서 성능 향상을 보여줍니다. 그러나 역할 특정 지식(SPE) 측면에서는 기준선과 비교하여 눈에 띄는 개선이 없습니다. 이는 본래 보이지 않는 역할에 대한 지식이 없는 모델이 자연스럽게 혼란을 겪을 수 있기 때문입니다.

5.3 소거 연구 다양한 RoleGPT 프롬프팅 전략의 효과. 우리는 GPT-3.5를 사용하여 §3.2에서 설명된 세 가지 롤 프롬프팅 방법을 평가합니다. 즉, 제로샷 프롬프트 엔지니어링(zsp), 퓨샷 프롬프트 엔지니어링(fsp), 퓨샷 대화 엔지니어링(fsd)입니다. 평가는 표 6의 RoleBench-specific-zh를 기반으로 합니다. 승률은 GPT-3.5가 세 가지 방법 중 하나를 첫 번째로 순위를 매길 빈도이며, 평균 순위는 방법의 평균 순위 위치를 나타냅니다. 우리는 퓨샷 대화 엔지니어링이 퓨샷 프롬프트 엔지니어링을 크게 능가하며, 두 퓨샷 접근 방식이 제로샷 접근 방식보다 뛰어나다는 것을 관찰합니다. 이러한 발견은 GPT에 대한 대화 모드 입력 포맷팅과 검색 증강의 중요성을 강조합니다.

다양한 롤 맞춤 전략의 효과. 우리는 두 가지 롤 맞춤 접근 방식을 비교합니다: 제로샷 시스템 지시(sys, §3.4) 대 퓨샷 검색 증강(reaug). 검색 증강 기반 롤 맞춤은 §3.2에서 언급한 방식과 유사하게, 프로필에서 검색된 대화 쌍을 입력에 삽입하며, RoleLLaMA 및 RoleGLM에 특화된 채팅 마크업 언어에 따라 포맷됩니다. 미세 조정 및 추론 동안, 입력은 시스템 지시와 이러한 검색된 상황 내 시연을 결합합니다. 표 7은 시스템 지시 기반 접근 방식이 검색 증강 기반 접근 방식보다 RoleLLaMA 및 RoleGLM에 대해 우수한 성능을 보여주며, 더 높은 컨텍스트 효율을 이끌어낸다는 것을 보여줍니다. 우리는 프로필에서 검색된 상황 내 예제가 노이즈가 많고 희소하여 상대적으로 작은 LLM(예: RoleGLM 및 RoleLLaMA)을 산만하게 하고 성능을 저하시킨다고 가정합니다. 반면에 RoleGPT와 같은 더 큰 모델은 노이즈와 희소한 정보에 대해 더 큰 강인성을 보여주며 성능이 일정하거나 심지어 향상됩니다(Li et al., 2022; Shi et al., 2023).

Context-Instruct의 효과. 역할 특정 지식을 주입하기 위한 일반적인 접근 방식은 검색 증강 롤 맞춤 전략을 사용하는 것입니다(c.f., §3.2 & §5.3). 표 8에서는 검색 증강과 두 기술이 모두 없는 경우와 비교하여 Context-Instruct를 사용하여 역할 특정 지식을 주입하는 효과를 탐구합니다. 우리는 Context-Instruct가 모델의 역할 특정 지식을 상당히 증강할 수 있는 능력을 가지고 있으며, 검색 증강은 §5.3에서 논의된 검색 소스의 노이즈 특성으로 인해 산만함과 강인성 부족을 초래할 수 있다는 것을 관찰합니다.

스케일링 법칙. 그림 6에서 우리는 다양한 크기(즉, 7B, 13B, 33B)의 RoleLLaMA의 롤 플레잉 스케일링 법칙을 분석하고 모델 크기가 증가함에 따라 모든 메트릭(즉, RAW, CUS, SPE)의 결과가 더 좋아진다는 것을 관찰합니다.

추가 분석(예: 데이터 혼합 전략에 대한 소거 연구)에 대해서는 부록 H를 참조하십시오.


6 결론 우리는 LLM에서 롤 플레잉을 벤치마킹하고 유도하며 향상시키기 위한 프레임워크인 RoleLLM을 소개합니다. 우리는 100개의 역할 프로필을 구성하고, 말하기 스타일 모방을 위한 RoleGPT와 역할 특정 지식 추출을 위한 Context-Instruct를 제안합니다. 이러한 방법을 통해, 우리는 RoleBench, 롤 플레잉을 위한 첫 번째 세밀한 벤치마크이자 오픈 소스 지시 조정 데이터를 생성합니다. 우리는 RoleBench에서 역할 조건부 지시 조정을 통해 RoleLLaMA와 RoleGLM을 얻었으며, 이들은 강력한 롤 플레잉 성능을 보여주고 GPT-4를 사용하는 RoleGPT와 비교할 수 있습니다.

기여 기여는 다음과 같이 나열됩니다: (1) 역할 수집 및 프로필 구축: Zekun Moore Wang, Zhongyuan Peng, Yuhan Wu, Junran Peng; (2) RoleBench 구축 및 분석: Zekun Moore Wang (RoleBench-general, 품질 검사), Haoran Que (RoleBench-specific), Yuhan Wu (분석, 품질 검사), Zhongyuan Peng (품질 검사), Jiaheng Liu (품질 검사), Hongcheng Guo (품질 검사), Junran Peng (품질 검사), Zehao Ni (품질 검사), Jian Yang (품질 검사); (3) 실험: Zekun Moore Wang (설계, RoleGPT, GPT 평가), Haoran Que (RoleLLaMA), Zhongyuan Peng (RoleGLM); (4) Context-Instruct: Zekun Moore Wang (설계), Haoran Que (구현); (5) 시스템 시연: Zhongyuan Peng, Ruitong Gan; (6) 논문 작성: Zekun Moore Wang, Jiaheng Liu, Haoran Que, Jie Fu; (7) 감독: Jiaheng Liu, Junran Peng, Zekun Moore Wang; (8) 자문: Jiaheng Liu, Junran Peng, Jie Fu, Wanli Ouyang, Wangchunshu Zhou, Zhaoxiang Zhang, Ke Xu, Man Zhang, Stephen W. Huang. Junran Peng과 Jiaheng Liu는 프로젝트를 시작했습니다. Zekun Moore Wang, Jiaheng Liu, Junran Peng은 프로젝트를 공동으로 주도했습니다. Zekun Moore Wang은 프레임워크와 실험을 설계하고 논문을 작성했습니다. 모든 기여자들이 토론에 참여했습니다.