InstructGPT가 데이터 세트를 준비하고 레이블을 지정하는 방법

목차

1. 라벨러 선택

2. 데이터세트의 출처

3. 데이터 전처리

4. 데이터세트 라벨링 방법

4.1 라벨러가 작성한 프롬프트

4.2 API 플레이그라운드를 통해 제출된 프롬프트

4.3 프롬프트에 따라 데이터 세트 생성

5. 데이터 다양성

6. InstructGPT 모델은 레이블이 지정된 이 데이터 세트를 사용하여 무엇을 학습했습니까?

7. 표시된 데이터의 부적절성

8. 라벨링 지침

 용어 사전


1. 라벨러 선택

        OpenAI는 Upwork 플랫폼 및 Scale AI에서 약 40명의 계약자를 고용하여 데이터에 레이블을 지정하고 스크리닝 테스트(screening test)를 통해 계약자가 민감한 프롬프트를 식별하고 응답할 수 있는 능력을 판단하고 계약자 및 연구원을 세부 사항에 대한 일치율로 평가했습니다 . 라벨링 작업. 그리고 계약자 팀을 작게 유지하면 작업을 수행하는 정규직 계약자와 더 쉽게 의사소통할 수 있습니다. 스크리닝 프로세스는 주로 민감한 콘텐츠를 감지하고 대응하는 경향이 높은 라벨러를 선택합니다. 보다 구체적으로, 다음 기준에 따라 최초의 애노테이터 후보 풀에서 트레이닝 애노테이터를 선택했습니다.

  • 민감한 말의 일관성 . 프롬프트 및 완성의 데이터 세트를 만들었으며 그 중 일부는 민감했습니다(즉, 유해하거나 성적이거나 폭력적이거나 비판적이거나 정치적이거나 등 강한 부정적인 감정을 유발할 수 있는 모든 것). 그들은 스스로 이 데이터의 민감도에 레이블을 지정하고 그들과 레이블 지정자 간의 일치도를 측정했습니다.
  • 순위 일관성 . 여러 모델에 대한 완성과 함께 힌트를 API에 제출하고 라벨러가 전체 품질에 따라 완성 순위를 매기도록 합니다. 연구원의 라벨과 라벨러의 동의를 측정합니다.
  • 민감한 예시글 . 출력에 적절하게 응답하려면 뉘앙스가 필요한 작은 세트의 민감한 신호를 만듭니다. 그런 다음 리커트 척도 1-7로 각 샘플 에세이의 점수를 매기고 각 라벨러의 평균 샘플 에세이 점수를 계산합니다.
  • 다른 그룹의 민감한 발언을 식별하는 능력에 대한 자체 평가 . 민감한 콘텐츠를 집합적으로 식별할 수 있는 광범위한 라벨러를 선택하세요. 법적인 이유로 인구 통계 정보를 기반으로 계약자를 고용할 수 없습니다. 그래서 그들은 레이블러에게 "어떤 주제나 문화 집단에 대해 민감한 표현을 식별할 의향이 있습니까?
     

2. 데이터세트의 출처

        InstructGPT 모델의 프롬프트 데이터 세트는 주로 OpenAI API에 제출된 텍스트 프롬프트, 특히 플레이그라운드 인터페이스에서 이전 버전의 InstructGPT 모델(예제 데이터의 하위 집합에 대한 지도 교육을 통해)을 사용하는 텍스트 프롬프트를 포함합니다. Playground를 사용하는 자신의 데이터가 언제든지 InstructGPT 모델을 교육하는 데 사용될 수 있음을 여러 알림을 통해 알립니다 . 프로덕션에 배포된 API를 사용하는 고객에 대한 데이터가 없습니다 .

3. 데이터 전처리

        장기간 공통 분모를 공유하는 프롬프트를 확인하여 중복 프롬프트 접두사를 발견적으로 제거하고 프롬프트 수를 사용자 ID당 200개로 제한합니다 . 검증 세트와 테스트 세트가 트레이닝 세트에 있는 사용자의 데이터를 포함하지 않도록 하려면 사용자 ID를 사용하여 데이터 세트를 트레이닝, 검증 및 테스트 세트로 분할합니다 . 잠재적으로 민감한 고객 세부 정보를 학습하는 모델을 피하기 위해 개인 식별 정보(PII)를 캡처할 수 있는 교육 세트에 대한 프롬프트를 필터링합니다 .

4. 데이터세트 라벨링 방법

4.1 라벨러가 작성한 프롬프트

        첫 번째 InstructGPT 모델(예: Beta instructGPT)을 교육하기 위해 라벨러에게 프롬프트를 직접 작성하도록 요청했습니다. 프로세스를 안내하기 위해 지침과 같은 프롬프트의 초기 소스가 필요하고 이러한 유형의 프롬프트는 OpenAI API의 일반 GPT-3 모델에 자주 제출되지 않기 때문입니다 . 라벨러에게 세 가지 프롬프트를 작성하도록 요청했습니다.

  • Plain : 레이블러는 작업이 충분한 다양성을 갖도록 임의의 작업을 제안합니다 .
  • Few-shot : 레이블러가 명령어를 제안하고, 명령어에 해당하는 여러 쿼리/응답 쌍을 제안합니다.
  • 사용자 기반 : OpenAI API에서 대기자 명단 신청에 대한 많은 사용 사례가 있습니다. 라벨러는 이러한 사용 사례에 해당하는 힌트를 제공합니다.

4.2 API 플레이그라운드를 통해 제출된 프롬프트

        API 힌트의 경우 앞서 언급한 OpenAI API Playground에서 이전 버전의 InstructGPT 모델에 사용자가 제출한 힌트를 사용합니다. 정보에 입각한 동의를 얻는 것이 더 쉽기 때문에 프로덕션에서 모델을 사용하는 고객이 아닌 Playground의 데이터만 사용합니다 . 사용자가 InstructGPT 모델로 전환할 때마다 커밋이 이루어졌다는 경고 메시지가 나타납니다. 이 모델을 모델의 향후 버전을 교육하는 데 사용할 수 있습니다. 이는 InstructGPT 모델의 베타 버전을 출시할 때 개발자 Slack 채널의 메시지로도 전달되었습니다. 개인 식별 정보(PII)가 포함된 훈련 분할에서 신호를 걸러냅니다.

        사용 사례의 다양성을 보장하기 위해 긴 공통 접두사를 공유하는 힌트를 확인하여 중복 힌트를 휴리스틱하게 제거하고 힌트 수를 조직당 약 200개로 제한합니다. 또한 조직 ID를 기반으로 훈련, 검증 및 테스트 분할을 생성합니다(예: 검증 세트에는 훈련 세트와 다른 사용 사례가 포함됨).

4.3 프롬프트에 따라 데이터 세트 생성

        위의 팁에 따라 미세 조정 절차를 위해 세 가지 다른 데이터 세트( SFT 데이터 세트, RM 데이터 세트, PPO 데이터 세트 )를 생성합니다.

표 6: 힌트 수에 따른 데이터 세트 크기

        위의 표는 SFT, RM 및 RL 모델을 훈련/검증하는 데 사용되는 데이터 세트의 크기와 힌트가 라벨링 계약자가 작성했는지 또는 OpenAI API에서 온 것인지를 보여줍니다.

        (1) SFT 데이터 세트 , SFT 모델 훈련에 사용되는 라벨러 예제 데이터, SFT 데이터 세트에는 약 13k개의 훈련 팁(API 및 라벨러 작성)이 포함되어 있습니다. SFT의 경우 라벨러 작성 팁이 고객 팁보다 빠르다는 점에 유의하십시오. , 프로젝트 시작 시 라벨러는 사용자 인터페이스로 지침을 작성하고 일반적인 템플릿 지침과 몇 가지 지침의 예를 제공하도록 요청합니다. 그들은 서로 다른 스몰샷 샘플 세트를 샘플링하여 동일한 명령에서 여러 SFT 데이터 포인트를 종합적으로 구성했습니다.

        (2) RM 데이터 세트 , RM 모델 훈련에 사용, RM 데이터 세트에는 33k 훈련 힌트(API 및 레이블러 작성)가 있으며, RM의 경우 각 힌트에 대해 K 출력(4에서 9까지) 순위를 수집하고 모델을 훈련합니다 \binomial{K}{2}. 따라서 모델을 훈련하는 순위 쌍의 수는 힌트 수 보다 훨씬 큽니다.

       (3) 인공 레이블이 없는  PPO 데이터 세트는 RLHF 미세 조정을 위한 입력으로 사용됩니다. PPO 데이터 세트에는 31,000개의 훈련 큐가 있습니다(API에서만). 데이터 세트 크기에 대한 자세한 내용은 위의 표에 나와 있습니다.
      

5. 데이터 다양성

        수집된 데이터는 광범위한 범주와 사용 사례를 다룹니다. RM 교육 및 검증 데이터 세트에서 계약자가 레이블을 지정한 범주의 다양성. PPO 데이터 세트의 클래스 분포는 유사합니다. 레이블이 지정된 큐 메타데이터의 하위 집합이 표 7에 나와 있습니다. 주석 필드는 프로젝트 과정에서 변경되므로 모든 프롬프트에 대해 모든 필드가 주석 처리되는 것은 아닙니다.

표 7: 데이터세트 주석

표 8: 고객당 평균 팁

표 9: 데이터 세트별 프롬프트 길이

25%는 4분위수이고 50%는 1/2분위수(즉, 중앙값)이며 75%는 3분기 분위수입니다.

표 10: 범주별 프롬프트 길이

표 11: 프롬프트 및 샘플 데이터 길이

         경량 분류자(langid.py)를 사용하여 데이터세트의 모든 명령어 언어를 분류합니다. 그들의 경험에 따르면 데이터셋의 약 96%(110k 데이터 포인트)가 영어로 분류되었지만 분류기의 부정확성으로 인해 실제 점수는 99% 이상이 될 수 있다고 추정됩니다.
        영어 외에도 스페인어, 프랑스어, 독일어, 포르투갈어, 이탈리아어, 네덜란드어, 루마니아어, 카탈루냐어, 중국어, 일본어, 스웨덴어, 폴란드어, 덴마크어, 터키어, 인도네시아어, 체코어 등 최소 20개 언어에서 작은 힌트 세트가 발견되었습니다. , 노르웨이어, 한국어, 핀란드어, 헝가리어, 히브리어, 러시아어, 리투아니아어, 에스페란토어, 슬로바키아어, 크로아티아어, 스와힐리어, 에스토니아어, 슬로베니아어, 아랍어, 태국어, 베트남어, 말라얄람어, 그리스어, 알바니아어 및 티베트어.
        표 8은 각 고객이 데이터 세트에 기여한 평균 팁 수를 보여줍니다. 표 9에는 다양한 모델을 훈련하는 데 사용되는 힌트 길이(토큰)에 대한 기술 통계가 보고되고 표 10에는 사용 사례별로 토큰 길이가 분류되어 있습니다. 마지막으로 계약자 작성 및 라벨러 작성 큐를 포함하여 SFT 모델에 사용된 계약자 작성 데모의 길이도 표 11에 보고됩니다.

6. InstructGPT 모델은 레이블이 지정된 이 데이터 세트를 사용하여 무엇을 학습했습니까?

        언어 모델을 사람의 의도에 맞출 때 최종 동작은 기본 모델(및 해당 학습 데이터), 미세 조정 데이터 및 사용된 정렬 방법의 함수입니다. 데이터를 미세 조정하는 데 영향을 미치는 몇 가지 요소는 무엇을 정렬할지 최종적으로 결정하기 위해 아래에 자세히 설명되어 있습니다. 
        문헌은 종종 "인간의 선호" 또는 "인간의 가치"와 같은 용어를 사용하여 정렬을 구성합니다. 이 작업에서 그들은 받은 지시, 지시를 받은 컨텍스트(유급 작업) 및 누구로부터 지시를 받았는지에 따라 영향을 받는 레이블러 그룹의 선호도를 조정했습니다. 몇 가지 중요한 주의 사항이 적용됩니다.
        먼저 라벨러가 제공한 모범 데이터와 라벨러의 기본 설정에 모델을 정렬하면 라벨러는 모델을 미세 조정하는 데 사용하는 데이터를 직접 생성합니다. 일반적으로 그들은 대부분 미국 또는 동남아시아에 거주하는 영어를 구사하는 사람들로 Upwork 또는 Scale AI를 통해 고용됩니다 . 라벨러는 많은 예에서 동의하지 않았으며, 라벨러 간에 약 73%의 합의가 있음을 발견했습니다. 둘째, 이 연구를 설계한 연구자로서
         라벨러의 선호도를 조정합니다 ( 따라서 더 넓은 연구 조직인 OpenAI를 대신하여): 그들은 라벨링 지침을 작성하고 라벨러는 데모를 작성하고 선호하는 출력을 선택할 때 가이드로 사용 합니다 공유 채팅방의 엣지 케이스에 대한 질문. 태그에서 수집된 데이터에 대한 서로 다른 명령어 세트 및 인터페이스 디자인의 정확한 영향과 모델 동작에 대한 궁극적인 영향에 대해 더 많은 연구가 필요합니다.         셋째, 교육 데이터는 OpenAI 클라이언트가 OpenAI API Playground의 모델에 보내는 힌트에 의해 결정됩니다.
, 따라서 클라이언트가 가치 있다고 생각하는 것과 암묵적으로 일치하며 경우에 따라 최종 사용자가 현재 API를 사용하는 데 가치가 있다고 생각합니다. 소비자와 최종 사용자가 동의하지 않거나 고객이 최종 사용자의 웰빙을 위해 최적화하지 않을 수 있습니다. 예를 들어 고객은 사용자가 플랫폼에서 보내는 시간을 최대화하는 모델을 원할 수 있지만 그렇지 않습니다. 최종 사용자가 원하는 것이어야 합니다. 실제로 어노테이터는 주어진 힌트 또는 완성의 컨텍스트를 볼 수 없습니다.
        넷째, OpenAI의 고객은 언어 모델 사용의 영향을 받는 모든 개인 및 그룹은 말할 것도 없고 모든 잠재적 또는 현재 언어 모델 사용자를 대표하지 않습니다 . 대부분의 프로젝트에서 OpenAI API 사용자는 대기자 명단에서 선택되었습니다. 이 대기자 명단은 초기에 OpenAI 직원이었으며 최종 그룹은 자체 네트워크에 편향되었습니다.
        한 걸음 물러서서 공정하고 투명하며 적절한 책임 메커니즘이 있는 조정 프로세스를 설계하는 데에는 많은 어려움이 있습니다. 이 백서의 목적은 이 정렬 기술이 특정 애플리케이션을 위해 특정 인간 참조 그룹에 정렬될 수 있음을 입증하는 것입니다. 연구원, 고용된 레이블러 또는 그들의 API 고객이 올바른 선호도 소스가 아니라는 것은 아닙니다 . 모델을 교육하는 조직, 모델을 사용하여 제품을 개발하는 고객, 해당 제품의 최종 사용자 및 직간접적으로 영향을 받을 수 있는 더 많은 인구와 같이 고려해야 할 많은 이해 관계자가 있습니다. 조정 프로세스를 보다 참여적으로 만드는 문제가 아니라 모든 사람의 선호도에 맞는 시스템을 즉시 교육하거나 모두가 절충점에 동의하는 것은 불가능합니다.
       특정 그룹의 선호도에 따라 조정될 수 있거나 쉽게 미세 조정되거나 다른 그룹을 나타내도록 유도할 수 있는 모델을 교육하는 것이 올바른 생각일 수 있습니다. 다른 값을 지원하는 그룹은 다른 모델을 배포하고 사용할 수 있습니다.. 그러나 이러한 모델은 궁극적으로 더 넓은 사회에 영향을 미칠 수 있으며 누구의 선호도가 조건부인지, 모든 그룹이 대표되고 잠재적으로 유해한 프로세스를 거부할 수 있는지에 대한 많은 어려운 결정이 필요합니다.

7. 표시된 데이터의 부적절성

        InstructGPT 모델의 동작은 부분적으로 계약자로부터 얻은 사람의 피드백에 따라 달라집니다. 일부 라벨링 작업은 계약자, 신념, 문화적 배경 및 개인 이력에 의해 영향을 받을 수 있는 가치 판단에 의존합니다 . 이 라벨러 그룹은 분명히 우리가 배포하는 모델을 사용하고 영향을 받을 전체 모집단을 대표하지 않습니다 . 간단한 예로, 라벨러는 주로 영어를 사용하며 데이터는 거의 전적으로 영어 설명으로 구성됩니다. 또한 데이터 수집 설정을 개선할 수 있는 다양한 방법이 있습니다. 예를 들어 대부분의 비교(RM) 데이터 세트는 비용상의 이유로 1명의 계약자에 의해서만 레이블이 지정됩니다. 예를 여러 번 표시하면 계약자가 동의하지 않는 영역을 식별하는 데 도움이 될 수 있으므로 단일 모델이 모든 계약자와 일치하지 않을 수 있습니다. 차이가 나는 경우 평균 레이블 기본 설정과의 정렬이 필요하지 않을 수 있습니다. 예를 들어 소수 그룹에 불균형적으로 영향을 미치는 텍스트를 생성할 때 해당 그룹에 속하는 태거의 기본 설정에 더 큰 가중치를 부여하기를 원할 수 있습니다 .

8. 라벨링 지침

        프로젝트를 진행하는 동안 레이블러에게 데이터 레이블 지정 방법에 대한 지침을 제공했으며 지침에 혼란스럽거나 일관성이 없는 내용이 없도록 내용을 계속 변경했습니다.

        훈련 데이터 라벨링 과정에서 라벨러에게 가장 중요한 기준(진위성 및 무해성 위)으로 사용자에게 도움이 되는 것을 우선순위로 지정하도록 요청한 반면, 최종 평가에서는 Flaggers에게 진정성과 순수성을 우선순위로 지정하도록 요청한 점은 주목할 만합니다. 그들은 특히 모델이 특정 지침에 대한 응답을 거부하도록 만드는 거부의 사용을 통해 모델이 때때로 훈련 중에 도움이 되는 것보다 진정성과 순수함을 우선시할 수 있도록 하는 연구 방법을 탐색하고 있습니다. 이로 인해 새로운 문제가 발생합니다. 응용 프로그램마다 위험 수준이 다르므로 모델이 추론 시 구성된 것을 거부하기를 원할 수 있습니다. 또한 이 모델은 무해한 명령을 과도하게 일반화하고 거부할 위험이 있으며, 이는 대부분의 애플리케이션에서 바람직하지 않습니다.

        프롬프트 분포의 최종 평가에 대한 지침에서 발췌한 내용은 표 10에 나와 있으며 RealToxicityPrompts 분포는 표 11에 설명되어 있습니다.

그림 10: 큐 분포에 대한 모델 출력의 최종 평가를 위해 라벨러에게 제공된 지침에서 발췌.
여기에서 전체 지침을 제공합니다.


그림 11: 모델에 의한 RealToxicityPrompts 출력의 독성 분포를 평가하기 위해 라벨러에게 제공된 완전한 지침 .

마지막으로 또 다른 OpenAI API Playground 인터페이스

 

 용어 사전

약어 명사 성명 주석
RLHF 사람의 피드백을 통한 강화 학습
GPT 생성 사전 훈련된 변환기
LM 언어 모델
SFT 인간 시연에 대한 감독된 미세 조정
PPO 근접 정책 최적화 근접 정책 최적화(PPO)는 현재 강화 학습에서 최첨단 기술로 간주됩니다. 2017년 OpenAI에서 도입한 알고리즘
플랜 미세 조정된 언어 Net. 

미세 조정된 언어 모델은 제로 샷 학습자입니다.

https://arxiv.org/pdf/2109.01652.pdf

T0

T0은 텍스트 입력을 소비하고 대상 응답을 생성하는 인코더-디코더 모델입니다.
 
RM 보상 모델

추천

출처blog.csdn.net/keeppractice/article/details/130457237