austin-distel-rxpThOwuVgE-unsplash.jpg

AI연구회

경남ICT협회 AI 연구 모임

자료실

인간 피드백을 통한 강화 학습(RLHF)이란 무엇입니까?

- 본 내용은  인간 피드백을 통한 강화 학습(RLHF)이란 무엇입니까? - 테크톡 (bdtechtalks.com) 자료로 RLHF에 대한 정리가 잘되어 있어 정보 공유 차원에서 올립니다 

---------------------------------------------------------------------------------------------------------

사람의 피드백을 통한 강화 학습

이 기사는 AI를 둘러싼 전문 용어와 신화를 모호하게 만드는 일련의 게시물인 Demystifying AI의 일부입니다.

OpenAI가 ChatGPT를 출시한 이후 LLM(Large Language Model)의 발전에 대해 많은 기대를 모았습니다. ChatGPT는 다른 최첨단 LLM과 거의 같은 크기이지만 성능은 훨씬 우수합니다. 그리고 이미 새로운 응용 프로그램을 활성화하거나 오래된 응용 프로그램을 중단시킬 것을 약속합니다.

ChatGPT의 놀라운 성능의 주된 이유 중 하나는 인간 피드백을 통한 강화 학습(RLHF)이라는 훈련 기술입니다. LLM에서 인상적인 결과를 보여 주었지만 RLHF는 첫 번째 GPT가 출시되기 전으로 거슬러 올라갑니다. 그리고 첫 번째 응용 프로그램은 자연어 처리를위한 것이 아니 었습니다.

다음은 RLHF에 대해 알아야 할 사항과 대규모 언어 모델에 적용되는 방식입니다.

RLHF는 무엇입니까?

강화 학습은 에이전트가 환경과의 상호 작용을 통해 정책을 학습하는 기계 학습 분야입니다. 에이전트는 조치를 취합니다(아무 것도 하지 않는 것도 포함될 수 있음). 이러한 작업은 에이전트가 있는 환경에 영향을 미치며, 에이전트는 새 상태로 전환되고 보상을 반환합니다. 보상은 RL 에이전트가 작업 정책을 조정할 수 있도록 하는 피드백 신호입니다. 에이전트는 훈련 에피소드를 진행하면서 보상을 최대화하는 일련의 작업을 수행하도록 정책을 조정합니다.

강화 학습

올바른 보상 시스템을 설계하는 것은 강화 학습의 주요 과제 중 하나입니다. 일부 응용 프로그램에서는 보상이 미래로 오래 지연됩니다. 체스를 하기 위한 RL 에이전트를 생각해 보십시오. 수십 번의 움직임이 필요한 상대를 이긴 후에만 긍정적인 보상을 받습니다. 이 경우 에이전트는 실수로 승리한 조합을 우연히 발견할 때까지 무작위 이동을 하는 초기 훈련 시간을 많이 낭비하게 됩니다. 다른 응용 프로그램에서는 보상을 수학적 또는 논리적 공식으로 정의 할 수도 없습니다 (언어 모델에 대해 이야기 할 때 자세히 설명).

 

인간 피드백을 통한 강화 학습은 훈련 과정에 인간을 포함시켜 RL 에이전트의 훈련을 향상시킵니다. 이는 보상 시스템에서 측정할 수 없는 요소를 설명하는 데 도움이 됩니다.

왜 우리는 항상 RLHF를하지 않습니까? 우선, 그것은 심하게 확장됩니다. 일반적으로 기계 학습의 중요한 이점 중 하나는 계산 리소스의 가용성에 따라 확장할 수 있다는 것입니다. 컴퓨터가 더 빠르게 성장하고 데이터를 더 많이 사용할 수 있게 됨에 따라 더 빠른 속도로 더 큰 기계 학습 모델을 학습할 수 있습니다. RL 시스템을 훈련하기 위해 인간에 의존하는 것은 병목 현상이 됩니다.

따라서 대부분의 RLHF 시스템은 자동화된 보상 신호와 사람이 제공한 보상 신호의 조합에 의존합니다. 계산 보상 시스템은 RL 에이전트에게 기본 피드백을 제공합니다. 인간 감독자는 때때로 추가 보상/처벌 신호를 제공하거나 보상 모델을 훈련하는 데 필요한 데이터를 제공하여 도움을 줍니다.

RLHF 예제사람의 피드백을 통한 강화 학습의 예 (이미지 출처 : cs.utexas.edu)

피자를 요리하는 로봇을 만들고 싶다고 가정 해보십시오. 측정 가능한 요소 중 일부를 자동 보상 시스템에 통합할 수 있습니다(예: 크러스트 두께, 소스 및 치즈의 양 등). 그러나 피자가 맛있는지 확인하려면 인간의 취향을 가지고 훈련 중에 로봇이 요리하는 피자에 점수를 매깁니다.

강화 학습 문제로서의 언어

대규모 언어 모델은 텍스트 요약, 질문 답변, 텍스트 생성, 코드 생성, 단백질 접기 등을 포함한 여러 작업에 매우 능숙한 것으로 입증되었습니다. 매우 큰 규모에서 LLM은 제로 및 소수 학습을 수행하여 훈련되지 않은 작업을 수행 할 수 있습니다. LLM에 사용되는 아키텍처인 변압기 모델의 가장 큰 성과 중 하나는 비지도 학습을 통해 훈련할 수 있다는 것입니다.

그러나 매혹적인 성과에도 불구하고 LLM은 다른 기계 학습 모델과 근본적인 특성을 공유합니다. 핵심은 시퀀스(프롬프트)에서 다음 토큰을 추측하도록 설계된 매우 큰 예측 기계입니다. 매우 큰 텍스트 모음에서 훈련 된 LLM은 (대부분) 일관되고 일관된 긴 텍스트를 생성 할 수있는 수학적 모델을 개발합니다.

언어의 가장 큰 도전은 많은 경우에 프롬프트에 대한 정답이 많다는 것입니다. 그러나 LLM의 사용자, 응용 프로그램 및 컨텍스트에 따라 모든 것이 바람직한 것은 아닙니다. 불행히도 큰 텍스트 말뭉치에 대한 비지도 학습은 모델이 사용될 모든 다른 응용 프로그램에 맞게 모델을 정렬하지 않습니다.

대규모 언어 모델을 위한 강화 학습

다행히 강화 학습은 LLM을 올바른 방향으로 이끄는 데 도움이 될 수 있습니다. 그러나 먼저 언어를 RL 문제로 정의해 보겠습니다.

에이전트: 언어 모델은 강화 학습 에이전트이며 최적의 텍스트 출력을 만드는 방법을 학습해야 합니다.

작업 공간 : 작업 공간은 LLM이 생성 할 수있는 가능한 언어 출력 집합입니다 (매우 큼).

상태 공간 : 환경 상태에는 사용자 프롬프트와 LLM의 출력 (매우 큰 공간)이 포함됩니다.

보상 : 보상은 LLM의 응답과 응용 프로그램의 컨텍스트 및 사용자의 의도와의 일치를 측정합니다.

위 RL 시스템의 모든 요소는 보상 시스템을 제외하고는 사소합니다. 체스나 바둑, 심지어 로봇 공학 문제와는 달리, 언어 모델에 대한 보상에 대한 규칙은 잘 정의되어 있지 않다. 다행히도 인간의 피드백을 통한 강화 학습의 도움으로 언어 모델에 대한 좋은 보상 시스템을 만들 수 있습니다.

언어 모델에 대한 RLHF

언어 모델에 대한 RLHF는 세 단계로 구성됩니다. 먼저 미리 학습된 언어 모델로 시작합니다. LLM에는 엄청난 양의 훈련 데이터가 필요하기 때문에 이는 매우 중요합니다. 사람의 피드백으로 처음부터 훈련하는 것은 사실상 불가능합니다. 비지도 학습을 통해 사전 훈련 된 LLM은 이미 언어의 견고한 모델을 가지고 있으며 일부 또는 많은 사람들이 사용자의 목표 및 의도와 일치하지 않을 수 있지만 일관된 출력을 생성합니다.

두 번째 단계에서는 RL 시스템에 대한 보상 모델을 만듭니다. 이 단계에서는 기본 모델에서 생성된 텍스트를 가져와 품질 점수를 생성하는 다른 기계 학습 모델을 학습합니다. 이 두 번째 모델은 일반적으로 텍스트 토큰 시퀀스 대신 스칼라 값을 출력하도록 수정 된 다른 LLM입니다.

보상 모델을 학습하려면 품질에 대해 레이블이 지정된 LLM 생성 텍스트의 데이터 세트를 만들어야 합니다. 각 훈련 예제를 작성하기 위해 기본 LLM에 프롬프트를 제공하고 여러 출력을 생성하도록 합니다. 그런 다음 인간 평가자에게 생성된 텍스트의 순위를 최고에서 최악으로 매기도록 요청합니다. 그런 다음 LLM 텍스트에서 점수를 예측하도록 보상 모델을 학습합니다. LLM의 출력 및 순위 점수에 대해 교육을 받음으로써 보상 모델은 인간 선호도의 수학적 표현을 만듭니다.

RLHF LLM 보상 모델

마지막 단계에서는 강화 학습 루프를 만듭니다. 기본 LLM의 복사본이 RL 에이전트가 됩니다. 각 교육 에피소드에서 LLM은 교육 데이터 세트에서 여러 프롬프트를 가져와 텍스트를 생성합니다. 그런 다음 출력이 보상 모델로 전달되어 인간 선호도와의 일치를 평가하는 점수를 제공합니다. 그런 다음 LLM이 업데이트되어 보상 모델에서 더 높은 점수를 받는 출력을 생성합니다.

이것은 언어 모델에 대한 RLHF의 일반적인 프레임워크이지만 다른 구현에서 수정을 수행합니다. 예를 들어, 기본 LLM을 업데이트하는 것은 비용이 많이 들기 때문에 기계 학습 팀은 때때로 교육 비용을 줄이기 위해 많은 계층을 동결합니다.

언어 모델에 대한 RLHF의 또 다른 고려 사항은 보상 최적화와 언어 일관성 간의 균형을 유지하는 것입니다. 보상 모델은 인간 선호도의 불완전한 근사치입니다. 대부분의 RL 시스템과 마찬가지로 에이전트 LLM은 문법적 또는 논리적 일관성을 위반하면서 보상을 극대화하는 지름길을 찾을 수 있습니다. 이를 방지하기 위해 ML 엔지니어링 팀은 RL 루프에 원본 LLM의 복사본을 보관합니다. 원래 LLM과 RL 훈련 LLM(KL 발산이라고도 함)의 출력 간의 차이는 모델이 원래 출력에서 너무 많이 표류하는 것을 방지하기 위해 음수 값으로 보상 신호에 통합됩니다.

채팅GPT에서 RLHF를 사용하는 방법

OpenAI는 ChatGPT의 기술적 세부 사항을 (아직) 공개하지 않았습니다. 그러나 ChatGPT 블로그 게시물과 RLHF를 사용하는 InstructGPT에 대한 세부 정보에서 많은 것을 배울 수 있습니다.

ChatGPT는 위에서 설명한 일반적인 RLHF 프레임워크를 사용하지만 몇 가지 수정 사항이 있습니다. 첫 번째 단계에서 엔지니어는 사전 훈련 된 GPT-3.5 모델에서 "감독 된 미세 조정"을 수행했습니다. 그들은 인간 작가 그룹을 고용하고 많은 프롬프트에 대한 답변을 작성하도록 요청했습니다. 그들은 프롬프트-응답 쌍의 데이터 세트를 사용하여 LLM을 미세 조정했습니다. OpenAI는 이 데이터에 많은 돈을 썼다고 보고되었으며, 이것이 부분적으로 ChatGPT가 다른 유사한 LLM보다 우수한 이유입니다.

두 번째 단계에서는 표준 절차를 기반으로 보상 모델을 만들어 프롬프트에 대한 여러 답변을 생성하고 인간 주석가가 순위를 매겼습니다.

마지막 단계에서는 근위 정책 최적화 (PPO) RL 알고리즘을 사용하여 주 LLM을 훈련했습니다. OpenAI는 모델의 일부를 고정하는지 여부 또는 RL 훈련 모델이 원래 배포판에서 너무 많이 드리프트되지 않도록 하는 방법에 대한 자세한 내용을 제공하지 않습니다.

채팅GPT 교육ChatGPT 교육 프로세스 (출처 : OpenAI)

언어 모델에 대한 RLHF의 한계

RLHF는 매우 효율적인 기술이지만 몇 가지 제한 사항도 있습니다. 인간의 노동은 항상 기계 학습 파이프라인에서 병목 현상이 됩니다. 데이터의 수동 레이블 지정은 느리고 비용이 많이 들기 때문에 비지도 학습은 항상 기계 학습 연구원의 오랜 목표였습니다.

경우에 따라 ML 시스템 사용자로부터 무료 레이블 지정을 받을 수 있습니다. 이것은 ChatGPT 및 기타 유사한 LLM 인터페이스에서 볼 수있는 업 보트 / 다운 보트 버튼의 용도입니다. 또 다른 기술은 온라인 포럼 및 소셜 네트워크에서 레이블이 지정된 데이터를 얻는 것입니다. 예를 들어, 많은 Reddit 게시물은 질문으로 구성되며 최상의 답변은 더 높은 찬성표를 받습니다. 그러나 이러한 데이터 세트는 여전히 정리 및 수정이 필요하므로 비용이 많이 들고 속도가 느립니다. 그리고 필요한 데이터를 하나의 온라인 소스에서 사용할 수 있다는 보장은 없습니다.

OpenAI 및 DeepMind와 같은 거대 기술 회사와 견고한 자금 지원 실험실은 특별한 RLHF 데이터 세트를 만드는 데 막대한 금액을 지출 할 여유가 있습니다. 그러나 소규모 회사는 오픈 소스 데이터 세트와 웹 스크래핑 기술에 의존해야 합니다.

RLHF도 완벽한 솔루션이 아닙니다. 인적 피드백은 LLM이 유해하거나 잘못된 결과를 생성하지 않도록 하는 데 도움이 될 수 있습니다. 그러나 인간의 선호는 명확하지 않으며 모든 사회와 사회 구조의 선호와 규범에 부합하는 보상 모델을 만들 수 없습니다.

그러나 RLHF는 LLM을 인간과 더 잘 정렬하기 위한 프레임워크를 제공합니다. 지금까지 RLHF가 ChatGPT와 같은 범용 모델과 함께 작동하는 것을 보았습니다. RLHF는 특정 응용 분야에 대해 더 작은 LLM을 최적화하는 데 매우 효율적인 기술이 될 것이라고 생각합니다.

기업 홍보를 위한 확실한 방법
협회 홈페이지에 회사정보를 보강해 보세요.