[00:13]
[음악]
[00:21]
안녕하세요 여러분, 저는 Will입니다
[00:22]
그리고 저는 Kathy이고, 저희는 OpenAI의 파인튜닝 팀에서 일하고 있습니다
[00:24]
파인튜닝 팀에서 일하고 있습니다
[00:26]
오늘 여러분께 에이전트 RF에 대해 말씀드릴 수 있어서 정말 기쁩니다
[00:28]
에이전트 성능을 향상시키는 가장 강력한 방법입니다
[00:30]
에이전트 성능을 향상시키는
[00:32]
방법입니다. 아마 오늘 저희와 함께하시는 이유는
[00:34]
비즈니스용 에이전트를 구축하고 계시기 때문일 것입니다
[00:36]
그리고 성능을 개선하고 싶으시겠죠
[00:37]
그 성능을 개선하고 싶어 하실 텐데요
[00:40]
먼저 에이전트가 실제로 무엇인지에 대해 이야기해 보겠습니다
[00:41]
에이전트를 일반 모델과 구별하는 것은
[00:43]
외부 세계와 상호작용하는 능력입니다
[00:45]
작업을 완료하고
[00:47]
항상 여러분을 거치지 않고도 스스로 일을 처리할 수 있습니다
[00:49]
여러분을 항상 거치지 않고도
[00:51]
따라서 이 에이전트는 도구에 접근할 수 있어야 합니다
[00:53]
예를 들어, 코딩 에이전트를 구축한다면
[00:54]
터미널에 접근할 수 있어야 합니다
[00:56]
코드 인터프리터나
[00:57]
심지어 전체 코드베이스에도 접근할 수 있어야 합니다
[00:59]
전체 코드베이스에도
[01:01]
하지만 이러한 에이전트들은 단순히 도구를 무작정 호출하는 것이 아닙니다
[01:03]
동시에 추론도 하고 있습니다
[01:05]
우리가 이러한 에이전트에 대해 생각하는 방식은
[01:07]
외부 세계와의 상호작용이
[01:09]
도구 호출과 같은
[01:11]
같은 컨텍스트 창에서 추론 경로와 함께 교차 배열된다는 것입니다
[01:13]
그래서
[01:16]
이 패러다임을 사용하여 사내에서 구축한 에이전트의 예로는
[01:17]
CodeX가 있습니다
[01:20]
CodeX는 우리의 대표적인 코딩 에이전트입니다. 다양한 도구에 접근할 수 있어
[01:23]
코딩 작업을 처음부터 끝까지 완료할 수 있습니다
[01:26]
단위 테스트 작성이나
[01:28]
여러분의 코드베이스에 대규모 diff를 제출하는 것 같은
[01:30]
hopefully 정확한 작업을 말이죠
[01:32]
일부 도구는 터미널 명령으로 노출되고
[01:34]
다른 도구들은 모델이 호출할 수 있는 커스텀 함수입니다
[01:36]
호출할 수 있는 커스텀 함수들은
[01:38]
계획 워크플로우 같은 것을 실행하기 위해서 말이죠
[01:41]
그럼 이제 에이전트를 어떻게 더 좋게 만들까요?
[01:44]
우리 모두 아마 에이전트 성능을 개선하는
[01:46]
최전선 기술들에 꽤 익숙할 것입니다
[01:48]
예를 들어, 먼저
[01:50]
프롬프트 엔지니어링이나 프롬프트 최적화가 있습니다
[01:52]
프롬프팅으로 모델이나 에이전트 행동을
[01:55]
여러분의 선호도에 더 맞게 조정할 수 있습니다
[01:57]
하지만 여전히 작업에서 더 많은 성능을 짜내고 싶다면
[01:59]
작업 최적화로 전환할 수 있습니다
[02:00]
작업을 단순화할 수 있고
[02:03]
작업 주변에 더 나은 가드레일을 추가하거나
[02:05]
도구를 추가하거나 제거할 수 있습니다
[02:07]
또는 도구 동작을 에이전트에게 더 잘 작동하도록 변경할 수도 있습니다
[02:12]
에이전트가 더 잘 작동하도록
[02:15]
하지만 여전히 그 작업에서 더 많은 성능을 짜내고 싶다면
[02:16]
이런 모든 접근법을 시도해봤는데도
[02:18]
여전히 더 나은 성능을 원한다면
[02:19]
그때 파인튜닝으로 전환하게 됩니다
[02:21]
파인튜닝으로
[02:23]
파인튜닝은 에이전트를 작업에 대해 처음부터 끝까지 훈련시키는 방법으로
[02:25]
모델의 가중치를 변경함으로써
[02:28]
더 나은 성능을 달성하는 것입니다
[02:31]
그리고 에이전트 강화 파인튜닝 또는 에이전트 RF는
[02:33]
이를 수행하는 방법이거나
[02:36]
우리가 여러분 모두가 이를 수행하기를 바라는 방법입니다
[02:38]
에이전트 RFT는 여러분이 지정한 학습 신호에 따라
[02:40]
모델의 가중치를 변경하여
[02:42]
좋은 행동과 나쁜 행동이
[02:43]
무엇인지 모델에게 가르칩니다
[02:45]
그리고 훈련 중에
[02:47]
에이전트는 여러분의 도구를 호출하여
[02:48]
작업을 해결하는 다양한 방법들을 탐색할 것입니다
[02:50]
여러분의 작업을
[02:52]
그래서 우리는 여러 가지 주요한
[02:55]
RFT 제품에 몇 가지 주요한 새로운 기능을 추가했습니다.
[02:57]
첫째, 이제 모델이 공개 인터넷에 호스팅된
[02:59]
엔드포인트를 통해 여러분의 도구를 호출할 수 있습니다.
[03:02]
그리고 각 롤아웃 후에는
[03:04]
엔드포인트를 통해 호스팅되는
[03:06]
사용자 정의 보상 신호도 호출할 것입니다.
[03:09]
이 두 가지 추가 기능은
[03:10]
실제로 우리 OpenAI가
[03:12]
모델이 훈련 과정에서
[03:15]
외부 세계와 상호작용할 수 있도록
[03:17]
허용한 최초의 사례입니다.
[03:18]
정말 멋진 일이라고 생각합니다.
[03:21]
에이전트 RFT의 장점을 요약하면,
[03:24]
추론 모델의 성능을 개선하는 데 도움이 되며,
[03:25]
더 구체적으로는 도구를 호출하고
[03:27]
외부 세계와 상호작용해서
[03:29]
다단계 방식으로
[03:31]
작업을 완수해야 하는 추론 모델의 성능을 개선합니다.
[03:33]
에이전트 RFT는 또한 매우 샘플 효율적입니다.
[03:36]
사람들이 단지 10개 정도의
[03:37]
예시만 사용해도 성공을 거두는 것을 보았는데,
[03:40]
정말 놀라운 일입니다.
[03:41]
고객 스포트라이트에서
[03:43]
깊이 있게 다룰 때
[03:45]
구체적인 예시들을 살펴보겠습니다.
[03:47]
그리고 더 낮은 지연 시간을 가지면서
[03:49]
여러분의 작업에 더 잘 작동하는 모델을 만들어냅니다.
[03:52]
이제 이 모든 것이 어떻게 작동하는지
[03:53]
조금 더 자세히 살펴보겠습니다.
[03:55]
에이전트를 여러분의 특정 비즈니스 맥락에서
[03:57]
작동하게 만드는 데 있어 과제 중 하나는
[04:00]
여러분의 환경, 여러분의 세계가
[04:02]
우리가 내부에서 모델을 훈련하는 방식과
[04:04]
다를 수 있다는 점입니다.
[04:06]
ML에서 이런 현상을 도메인 시프트라고 부르며,
[04:09]
이는 여러분의 도구를 제대로 호출하지 못하는
[04:11]
에이전트를 만들 수 있습니다.
[04:13]
도구를 너무 많이 호출하거나
[04:15]
잘못된 입력을 도구에
[04:17]
그냥 집어넣을 수도 있습니다.
[04:21]
에이전트 RFT는 가중치를 변경하는 훈련 과정을 통해
[04:23]
모델을 여러분의 도메인에 재적응시킬 수 있고,
[04:25]
그 결과 실제로 여러분의 환경을
[04:27]
이해하는 에이전트를 만들어냅니다.
[04:29]
이는 몇 가지 정말 좋은 특성을 가지고 있습니다.
[04:31]
당연히 더 나은 ML 성능을 제공하고,
[04:34]
모델이 도구를 더 잘 사용하도록 훈련시키며,
[04:35]
해당 도구들의 출력을 더 잘 추론하도록
[04:38]
모델을 훈련시킵니다.
[04:39]
이 모든 것은 모델이 탐색 공간,
[04:41]
즉 여러분의 환경과 상호작용하는
[04:43]
모든 가능한 방법들을 탐색하고
[04:45]
여러분의 보상에 따라 언덕 오르기를 하면서
[04:47]
모델이 유기적으로 학습합니다.
[04:49]
이로부터 나오는 또 다른 정말 좋은 특성은
[04:51]
모델이 주어진 도구 호출 예산 내에서 유지되도록 하여
[04:54]
그 한계를 넘지 않게 함으로써
[04:56]
훨씬 낮은 지연 시간을 달성할 수 있는 능력입니다.
[04:57]
실제로 우리는 모델이 그 예산을
[04:59]
초과했을 때 패널티를 주는 제약을 가할 수 있습니다.
[05:01]
실제로 일어나는 일은 모델이
[05:03]
원래의 ML 성능을 보존하거나
[05:05]
능가하면서도
[05:07]
그 예산 내에서 유지되는 것을 학습한다는 것입니다.
[05:09]
[05:10]
시스템 레벨에서 일어나는 일을
[05:12]
조금 더 자세히 살펴보면,
[05:14]
각 에이전트 롤아웃마다 해당 특정 롤아웃을
[05:16]
명시하는 고유 식별자를 생성하고,
[05:20]
여러분의 시스템으로 만드는
[05:21]
모든 도구 호출을
[05:23]
해당 UUID와 연결합니다.
[05:27]
그리고 우리는 모든 도구 호출에 대해 이를 수행하여
[05:29]
궤적이 발전하는 과정을 추적할 수 있도록 합니다.
[05:31]
따라서 우리가 최종 답을 방출할 때
[05:33]
마지막에 최종 답안을 출력할 때, 그 최종 답안을
[05:35]
지금까지 유지해온 모든 맥락과
[05:37]
연결시킬 수 있습니다. 그리고 이 전체를
[05:39]
종합적인 채점 맥락으로
[05:41]
채점자에게 전달할 수 있습니다.
[05:43]
이제 우리는 누구든지 처음부터
[05:46]
바로 에이전트 RFT를 사용하는 것을
[05:48]
권장하지 않습니다. 여러분이 따라야 할
[05:50]
프로세스가 있습니다.
[05:52]
먼저 여러분의
[05:53]
훈련 데이터셋과 평가 데이터셋이
[05:55]
실제 프로덕션 트래픽과 밀접하게 일치하는지
[05:57]
확인해야 합니다. 어떤 드리프트도
[06:00]
원하지 않습니다. 그다음에는
[06:02]
기준선을 설정해야 합니다. 기본 모델을
[06:04]
이 데이터셋들에 대해 실행해서
[06:06]
성능 면에서 무엇을 기대할 수 있는지
[06:08]
이해해야 합니다. 그래야 거기서부터
[06:09]
점진적으로 개선할 수 있습니다.
[06:12]
그다음에는 우리가 앞서 이야기했던
[06:14]
기법들을 사용해서
[06:15]
프롬프트나 작업 최적화 같은 방법으로
[06:18]
성능을 최적화하려고 해야 합니다.
[06:20]
그리고나서야 여러분이
[06:22]
그 작업에서 모든 성능을 다 끌어냈다고
[06:24]
느끼지만 여전히 더 많은 성능이 필요할 때
[06:26]
에이전트 RFT로 전환해서
[06:29]
여러분 작업의 한계를 넓혀야 합니다.
[06:31]
이제 저희 파트너들이 어떻게
[06:32]
그 한계를 정말로 넓혔는지에 대해
[06:35]
캐시가 이야기하겠습니다.
[06:38]
네, 이제 에이전트 RFT가 어떻게 작동하고
[06:40]
언제 사용해야 하는지 배웠으니
[06:42]
고객들이 에이전트 RFT를 사용해서
[06:44]
에이전트를 어떻게 개선했는지와
[06:46]
여러분이 자신의 에이전트를
[06:48]
최적화할 때 적용할 수 있는
[06:50]
몇 가지 주요 시사점을 강조하겠습니다.
[06:53]
몇 달 전에 저희는 코그니션과 파트너십을
[06:55]
맺었는데, 그들은 코드 편집 계획 단계에서
[06:58]
에이전트 RFT를 사용했습니다. 이 부분은
[07:00]
데본이 repl을 검사하고 grep이나 파일 읽기 같은
[07:03]
셸 도구를 실행해서
[07:05]
편집할 정확한 파일을 결정하는 부분입니다.
[07:08]
이 동작을 훈련하기 위해
[07:10]
사용자 쿼리와 실제 사용자가 수정한
[07:12]
파일들을 쌍으로 한 데이터셋을 구축했고
[07:15]
선택된 파일들의 F1 점수를
[07:17]
보상으로 사용했습니다. 이 F1 점수는
[07:20]
정밀도와 재현율 사이의 균형을
[07:23]
맞춰주기 때문에 정말 좋습니다.
[07:25]
이는 에이전트가 너무 많은
[07:27]
부정확한 파일을 반환하거나
[07:29]
중요한 파일을 놓치지 않도록
[07:32]
보장합니다. 또한 이 훈련을 지원하기 위해
[07:35]
매우 견고한 인프라를 구축했습니다.
[07:37]
각각의 궤적에 대해
[07:39]
VM을 띄워서 코드베이스를 관리하고
[07:42]
도구 호출을 실행하고
[07:44]
최종 답안을 채점했습니다. 이 VM들은
[07:46]
환경이 격리되도록 보장해서
[07:49]
셸 도구들이 서로 다른 롤아웃에서
[07:51]
서로 영향을 주지 않도록 했습니다.
[07:53]
코그니션의 사용 사례에서
[07:56]
두 가지 중요한 시사점을 얻었습니다.
[07:58]
첫째, 데이터 품질과 양이
[08:00]
정말 중요합니다. 처음에는
[08:03]
약 100개 예시로 이루어진 데이터셋으로
[08:06]
파인튜닝을 했을 때 5포인트 개선을
[08:08]
얻을 수 있었습니다. 하지만
[08:10]
천 개 예시로 확장했을 때
[08:12]
개선폭이 10포인트로 뛰어올랐습니다.
[08:15]
고품질 예시의 개수는 더 나은 에이전트
[08:18]
동작으로 매우 직접적으로 이어집니다.
[08:21]
RFT가 병렬 도구 호출 학습에 정말 효과적이라는 걸 배웠습니다.
[08:24]
이 경우 모델은 처음에
[08:26]
추론에서 토큰을 생성하는 것과
[08:29]
실제 도구를 호출하는 것 사이를 번갈아 가며
[08:32]
8~10단계가 걸렸습니다.
[08:35]
RFT 후에는
[08:38]
에이전트가 맨 처음 단계에서
[08:40]
많은 도구 호출을 병렬로 실행합니다.
[08:43]
이를 통해 단계 수를
[08:45]
4단계로 줄일 수 있었습니다.
[08:48]
이 사용 사례에서는 속도 향상이
[08:50]
특히 중요했는데, Devon이
[08:53]
빠르게 편집을 시작하길 원했기 때문입니다.
[08:55]
이제 다른 사용 사례를 소개하고 싶습니다.
[08:57]
Codeto는 코드 리뷰 에이전트를 구축하고 있으며
[08:59]
핵심 구성 요소는
[09:02]
대규모 코드베이스에서
[09:04]
개발자 질문에 답변하는 깊이 있는 연구 에이전트입니다.
[09:07]
이 깊이 있는 연구 에이전트를 개선하기 위해
[09:10]
GPT-5를 훈련시켜 검색과 같은 도구를 호출해
[09:13]
저장소에서 검색하고
[09:15]
코딩 질문에 답변하도록 했습니다.
[09:18]
8개의 서로 다른 저장소에서
[09:21]
약 천 개의 실제
[09:23]
질문-답변 쌍을 수집하고
[09:26]
에이전트가 검색할 수 있는
[09:28]
관련 사실의 회상률을 사용해
[09:30]
모델에 보상을 주었습니다.
[09:32]
[목소리 가다듬기]
[09:33]
RFT를 통해 에이전트는 6% 향상되었고
[09:37]
더 적은 도구 호출과 출력 토큰을 사용했습니다.
[09:40]
가장 흥미로웠던 발견은
[09:41]
RFT가 도구 호출 수의
[09:44]
분포를 어떻게 변화시켰는지 보여주는 이 그래프입니다.
[09:47]
GPT-5에서는 에이전트가 때때로
[09:50]
한 번의 샘플에서 15번 이상의
[09:53]
도구 호출이 발생하는 나쁜 실행에 빠졌습니다.
[09:55]
이는 매우 느리고
[09:58]
일관되지 않은 동작을 유발할 수 있습니다.
[10:00]
RFT 후에는
[10:03]
매우 긴 꼬리 분포의 도구 호출들이
[10:06]
사라졌고, 분포가
[10:09]
2~4개의 도구 호출 주변으로
[10:11]
중앙에 집중되었습니다.
[10:14]
이 설정에서 RFT는 정확도를
[10:17]
향상시켰을 뿐만 아니라
[10:20]
P95 긴 꼬리 케이스들을 제거하여
[10:24]
에이전트 동작을 안정화시켰습니다.
[10:26]
이는 지연 시간이 중요한
[10:29]
프로덕션 사용 사례에서 매우 중요합니다.
[10:32]
다음으로, 코사인이 에이전트 RFT를 사용해
[10:35]
대규모이고 복잡한
[10:38]
엔터프라이즈 코드베이스를 위한
[10:41]
코딩 에이전트를 구축하는 방법을
[10:43]
공유하고 싶습니다. 이를 실현하기 위해
[10:46]
fry, 키워드 검색, 세션 터미널,
[10:48]
브라우저 세션 등과 같은
[10:52]
매우 포괄적인 30개의 도구 세트로
[10:54]
에이전트를 훈련시켰습니다.
[10:57]
또한 매우 엄격한 평가자를 구축했습니다.
[10:59]
처음에 모델에 부분 점수와
[11:02]
단순히 시도해보는 것에 대한 점수를
[11:04]
제공했을 때는
[11:06]
좋은 결과를 얻지 못했다는 걸 관찰했습니다.
[11:08]
모델이 코딩 스타일과 톤을
[11:11]
최적화하기 시작했기 때문입니다.
[11:14]
처음에는 정말로 에이전트가
[11:17]
작동하는 코드를 제공하는지 확실히 하고 싶었고
[11:20]
그에 따라 최종 코드가
[11:22]
테스트를 통과할 때만
[11:24]
모델에 보상을 주었습니다.
[11:27]
평가자가 매우 엄격하기 때문에
[11:30]
때때로 희소한 보상을 줄 수 있습니다.
[11:32]
그런 경우에 GPT-5는 실제로
[11:36]
작동하는 샘플을 제공할 수 있어서 훌륭합니다.
[11:38]
코사인은 또한 배치 크기를 늘리고
[11:41]
더 많은 샘플을 얻어서
[11:42]
긍정적인 보상을 받을 수 있습니다. 즉
[11:45]
배치의 모든 샘플이
[11:47]
코드가 정확해지면 제로 보상을 받는 것은 아닙니다.
[11:49]
또한 점수와 톤을 판단하는
[11:52]
커스텀 LLM이 있습니다.
[11:54]
이 시스템은 말이 너무 많거나 이모지
[11:57]
또는 전문적이지 않은 느낌을 주는 것들을 분석합니다.
[11:59]
마지막으로 채점자는
[12:01]
자신의 작업을 검증하는 에이전트에게 보상을 줍니다.
[12:04]
즉, 테스트를 실행하고
[12:06]
터미널 출력을 점검하며
[12:08]
성공을 선언하기 전에 린팅도 확인하는 것입니다.
[12:12]
이러한 세심한
[12:15]
도구와 채점자 세트로 훈련한 후
[12:17]
코사인은
[12:19]
여러 벤치마크에서
[12:22]
최고 수준의 성과를 달성할 수 있었습니다.
[12:25]
그리고 훨씬 더 빠른 에이전트도 얻었습니다.
[12:28]
이전 사례처럼 RFT는
[12:31]
도구 호출 분포를 바꾸었고
[12:32]
에이전트는 극도로 긴
[12:35]
궤적을 따르는 것을 중단했습니다.
[12:36]
이 경우 때로는
[12:39]
단일 궤적에 100개 이상의 메시지가 있었지만
[12:41]
훨씬 더 긴밀하고 효율적인
[12:44]
단계 시퀀스로 수렴했습니다.
[12:46]
마지막으로 Macco는 매우 흥미로운
[12:49]
사용 사례입니다. 그들은 고성능
[12:51]
GPU 커널을 작성하는 에이전트를 구축하고 있는데
[12:54]
이는 전통적으로 LLM에게 매우 어려운 작업입니다.
[12:57]
일반적인 사용 사례에서는
[13:00]
훨씬 더 많은 예시가 있지만
[13:01]
이 경우에는 커널에 대한
[13:04]
예시가 많지 않습니다.
[13:07]
특히 Asian과 같은 새로운 하드웨어
[13:10]
플랫폼과 Nvidia B200를 사용하는 경우에는요.
[13:13]
RFT를 사용하여 Macco는 GPT-5를 훈련시켜
[13:16]
단 100개의 PyTorch 프롬프트만으로
[13:19]
빠른 커널을 작성하도록 했고 이는 주요한 돌파구였습니다.
[13:22]
실제로 우리는 좋은 모델을 훈련하기 위해
[13:25]
그렇게 많은 샘플과 커널 데이터셋이 필요하지 않습니다.
[13:28]
커널을 생성하는 모델을 만드는데
[13:30]
좋은 보상 함수만 명시하면 됩니다.
[13:33]
이 경우 좋은 보상 함수를 명시하는 것도 매우 어렵습니다.
[13:36]
훈련 초기에 그들은 모델이
[13:38]
보상 해킹을 하고 있다는 것을 관찰했습니다.
[13:41]
그래서 그들이 한 일은 롤아웃을 점검하고
[13:44]
모델이 해킹하는 7가지 다른
[13:46]
케이스를 찾아낸 것입니다.
[13:48]
여기에는 단순히 참조 코드를
[13:50]
반환하거나 커널이 없거나
[13:53]
아이덴티티 커널을 반환하는 것들이 포함되어 있었고
[13:56]
이 7가지 케이스를 모두 잡아내어
[13:58]
0점으로 보상하는 판단 LM을 구축했습니다.
[14:02]
또한 추상 구문 트리를 사용한
[14:05]
정적 분석 도구를 추가하여
[14:07]
생성된 커널이 실제로 존재하고
[14:10]
실제로 실행되고 있는지 확인했습니다.
[14:12]
보상 해킹이 없다는 것을
[14:14]
확인한 후에도
[14:16]
정확성과 PyTorch 베이스라인 대비
[14:18]
실제 속도 향상으로 점수를 매겼습니다.
[14:22]
이 모든 보호 장치가
[14:23]
갖춰지자 에이전트는
[14:26]
GPT-5보다 훨씬 나아졌습니다.
[14:28]
그리고 ML팀은 성능을
[14:31]
더욱 향상시키기 위해
[14:32]
정말 똑똑한 기법을 사용했습니다.
[14:34]
세 가지 다른 샘플을 실행하고
[14:36]
그 중에서 가장 좋은 것을 선택했습니다.
[14:38]
이를 통해 최고 수준을 72% 넘어설 수 있었습니다.
[14:41]
네, 다시 윌에게 넘겨드리겠습니다.
[14:45]
캐시, 감사합니다. 이제 우리는
[14:47]
이 자리에 계신 여러분 모두와
[14:49]
더 나아가서는 모든 분들이
[14:51]
Kathy가 방금 언급한 파트너들과 같이
[14:54]
Agent RFT로 성공하시기를 바랍니다. 성공을 위한
[14:55]
네 가지 핵심 원칙을 알려드리겠습니다. 첫째,
[14:57]
작업이 명확하게 정의되고
[14:59]
제약이 명확해야 합니다. 성공에 대한
[15:01]
명확하고 명료한 정의가 있어야 합니다.
[15:04]
작업에서 모든 주관적
[15:05]
요소를 제거해야 합니다.
[15:07]
취향이 작업을 제대로
[15:09]
평가하는 요소가 되어서는 안 됩니다. 둘째,
[15:12]
모델이 프로덕션에서
[15:14]
당황하지 않도록 해야 합니다.
[15:16]
훈련 및 평가 데이터셋이
[15:17]
프로덕션 트래픽과 일치해야 합니다.
[15:20]
앞서 언급한
[15:21]
도메인 시프트가 없어야 합니다.
[15:23]
스스로 도메인 시프트를 만들어서는 안 됩니다. 셋째,
[15:26]
이것이 정말 중요한 부분인데요,
[15:28]
탐색을 통해
[15:30]
모델이 실제로 주어진 데이터 포인트에서
[15:32]
더 많이 샘플링할수록 더 나은 성능을
[15:34]
달성하여 스스로 학습할 수
[15:36]
있도록 해야 합니다. 즉,
[15:38]
주어진 데이터셋에서 최대 성능을
[15:39]
보면, 모델에서 더 많이
[15:42]
샘플링할수록 성능이 향상되어야 합니다.
[15:44]
이로 인해 주어진
[15:45]
데이터 포인트에서 이러한 변동성을
[15:48]
볼 수 있어야 합니다. 모델이
[15:49]
스스로 학습하고, 좋은 롤아웃과
[15:51]
나쁜 롤아웃의 차이가 무엇인지
[15:53]
주어진 데이터 포인트에서 학습할 수 있어야 합니다.
[15:54]
마지막으로,
[15:56]
보상 함수가 해킹 가능하지
[15:58]
않도록 해야 합니다. 모든 코너 케이스와
[16:00]
엣지 케이스를
[16:01]
차단했기를 바랍니다. 또한 보상이
[16:04]
이진이 아닌 연속적이 되도록
[16:07]
작업을 구성했기를 바랍니다.
[16:09]
연속적인 보상은 실제로 모델이
[16:11]
최적 성능에 조금씩
[16:13]
더 가까워질 수 있게 합니다.
[16:15]
학생에게 부분 점수를
[16:17]
주는 것과 같습니다. 틀리거나
[16:20]
맞추었을 때 얼굴을 때리거나
[16:21]
쿠키를 주는 것이 아니라요.
[16:23]
Agent RFT를 시작하려면
[16:26]
친근한 어카운트 디렉터에게
[16:28]
연락하시기 바라며, 여러분이
[16:29]
저희와 함께 무엇을 구축할지
[16:31]
정말 기대됩니다. 감사합니다.
[16:33]
[박수]
[16:38]
[음악]
[16:42]
Heat.
[16:53]
[음악]