Roblox가 AI를 활용해 대규모 콘텐츠 심사를 수행하는 방법
25개 언어로 된 매일 수십억 건의 콘텐츠를 실시간으로 관리

- Roblox에 게시되는 콘텐츠를 선제적으로 관리하기 위해, 저희는 약 5년 동안 AI를 활용한 확장 가능한 시스템을 구축해 왔습니다.
- 현재 당사의 인프라, 머신러닝(ML) 모델, 그리고 수천 명의 전문가들이 협력하여 Roblox를 사용자에게 더 안전하고 건전한 공간으로 만들기 위해 노력하고 있습니다.
- 저희는 고품질 데이터를 바탕으로 확장성, 속도, 지속적인 개선을 위해 이러한 모든 시스템을 개발하고 있습니다.
안전은 Roblox의 모든 활동의 기초입니다. 우리는 처음부터 사용자 제작 콘텐츠로 구축된 플랫폼에 콘텐츠 관리가 필수적이라는 점을 인식하고, 적극적으로 콘텐츠를 관리해 왔습니다. Roblox의 규모가 훨씬 작았을 때는, 창립자이자 CEO를 포함하여 인간 검토자들이 직접 콘텐츠 관리 업무를 수행했습니다. 시간이 지남에 따라 플랫폼은 (규모와 속도 면에서) 인간 검토자의 역량을 넘어설 정도로 성장했습니다. 새로운 제품을 출시할 때, 안전은 항상 우리가 가장 먼저 고려하는 요소입니다.
평균 9,780만 명의 일일 활성 사용자¹가 로블록스를 찾아 게임을 즐기고, 소통하며, 창작 활동을 합니다. 매일 사용자들은 28개 언어로 평균 61억 건의 채팅 메시지와 110만 시간의 음성 통화를 주고받습니다. 크리에이터들은 매일 수백만 개의 자산을 업로드하며, 아바타 마켓플레이스에는 수천 개의 아이템이 추가됩니다. 이 수십억 건의 창작물과 메시지 중 압도적 다수는 예의 바릅니다. 현실 세계와 마찬가지로, 이것이 바로 대다수 사람들이 서로 소통하는 방식입니다. 하지만 그렇지 않은 경우, 당사의 텍스트 필터링 시스템이 문제성 텍스트가 사용자에게 도달하기 전에 차단하도록 돕고, 음성 위반 사항은 실시간으로 평가됩니다. 또한 불법 콘텐츠 신고를 접수할 경우, 당사의 평균 조치 소요 시간은 10분입니다.
이 방대한 양의 콘텐츠를 밀리초 단위로 지속적으로 검토하는 일은 인력이 아무리 많아도 인간만으로는 감당할 수 없는 작업입니다. 이러한 규모와 속도로 작업하려면 주말이나 휴가 없이 24시간 내내 근무하는 수십만 명의 인간 검토자가 필요하며, 이는 단지 채팅 메시지만을 검토하는 데 필요한 인원입니다. Roblox의 다른 모든 콘텐츠 유형을 관리하려면 수천 명의 인력이 더 필요합니다. Roblox에서 매일 생성되는 방대한 양의 콘텐츠는 확장 가능한 인프라, 머신러닝(ML) 모델, 그리고 전용 도구를 요구합니다.
ML은 이러한 결정을 밀리초 단위로, 반복적이고 일관되게, 하루 24시간 내내 내릴 수 있습니다. 우리는 여전히 맥락에 따라 더 깊고 미묘한 인간의 판단이 필요한 드문 사례를 처리하기 위해 인력을 필요로 하며, 이를 위해 인력을 고용하고 있습니다. 우리는 견고하고 혁신적인 안전 및 관리 도구를 전 세계 수천 명의 인간 전문가와 결합하여, 새로운 도전 과제와 진화하는 문제에 대응하기 위해 시스템에 대한 감독과 지속적인 교육을 제공합니다. 로블록스의 모든 관리 시스템은 다음 원칙을 기반으로 합니다:
- 로블록스에서는 콘텐츠를 선제적으로 관리합니다.
- 사용자들이 규칙을 잘 모르는 경우가 많기 때문에, 가능한 한 실시간으로 피드백을 제공합니다.
- 우리는 AI가 대규모 환경에서 인간보다 정확도와 재현율 모두에서 현저히 우수한 성과를 보일 때에만 AI를 도입합니다.
- 우리는 AI의 지속적인 개선, 변화하는 상황, 드문 사례, 복잡한 조사 및 이의 제기를 위해 전문 인력을 활용합니다.
로블록스에서 생성되는 콘텐츠의 양이 증가함에 따라 이를 효율적으로 관리하기 위해, 우리는 규모, 속도, 품질이라는 세 가지 차원에서 끊임없이 혁신하고 있으며, 이는 지속적인 개선을 필요로 합니다.
규모: 매일 수십억 건의 콘텐츠 관리
2024년 2월부터 12월까지 사용자들은 약 1조 건의 콘텐츠를 업로드했습니다. 이 수십억 건의 텍스트 채팅, 오디오, 음성 및 이미지 중 단 0.01%만이 당사의 정책을 위반한 것으로 판정되었습니다. 또한 정책을 위반한 콘텐츠의 거의 전부는 사용자가 보기도 전에 자동으로 사전 검열되어 삭제되었습니다. 이러한 규모는 비교적 새로운 것이지만, 콘텐츠 관리에 대한 당사의 헌신은 결코 새로운 것이 아닙니다. 10여 년 전, 우리는 규칙 기반 텍스트 필터를 구축했습니다. 약 5년 전에는 당시 최첨단 기술이었던 트랜스포머 기반 텍스트 필터를 도입했습니다. 현재 우리의 텍스트 필터는 다양한 유형의 정책 위반에 특화된 여러 모델을 기반으로 하루 평균 61억 건의 채팅 메시지를 처리하고 있습니다.
이 모델 중 하나는 게임 내 및 플랫폼 채팅에서 개인 식별 정보(PII)를 필터링하는 시스템입니다. 타인에게 PII를 요구하는 행위는 더 심각한 문제로 이어질 수 있는 첫 단계가 될 수 있으므로, 우리는 항상 PII 공유 방지에 대해 강력한 입장을 취해 왔습니다. 전송되는 모든 채팅 메시지는 시스템에 PII가 언급되었는지 검토하고 판단해 달라는 '요청'입니다. 이 텍스트 필터 모델은 초당 처리 요청(RPS)량이 너무 많아 기존 CPU 기반 서빙 스택으로는 지원하기 어려워졌습니다. 그래서 저희는 셀룰러 인프라를 활용하여 GPU 기반의 완전히 새로운 서빙 스택을 구축했습니다. 이러한 높은 RPS 수요를 지원하기 위해 먼저 토큰화(tokenization)와 추론(inference)을 분리하고, 대규모 모델의 양자화(quantization) 및 증류(distillation)를 통해 추론 속도를 가속화했습니다. 이러한 개선 사항들이 결합되어 RPS가 4배 증가했습니다.
새로운 스택에서 PII 필터는 현재 피크 시 370,000 RPS를 처리하고 있습니다. 개선된 PII 필터는 오탐률을 30% 감소시켰으며, 그 결과 지원되는 모든 언어에서 시스템이 자동으로 탐지하는 PII 언급 건수가 25% 증가했습니다. 우리는 이미 이 개선 사항을 여러 다른 언어로 확대 적용하고, 다른 텍스트 필터 및 표면에도 유사한 개선 사항을 도입하기 위해 작업 중입니다. 이러한 개선 사항을 자랑스럽게 생각하지만, PII를 공유하는 방식은 끊임없이 진화하고 있으며, 우리도 이러한 변화에 발맞춰 시스템을 발전시켜 나가고 있습니다.
저희 전체 콘텐츠 검토 시스템의 기반에는 다양한 모달리티에 대한 지식을 갖춘 대규모 트랜스포머 기반 모델이 있습니다. 운영 및 생산 요구 사항에 따라, 시스템의 속도와 효율성을 유지하기 위해 이러한 모델을 정제하고 양자화합니다. 이러한 기술은 다양한 멀티모달 모델을 실행하는 데 필수적이며, 현재 텍스트 필터를 관리하는 모델들은 750,000 RPS 이상을 효율적으로 처리하고 있습니다.

속도: 실시간 피드백을 통한 사용자 행동 변화
자연스럽고 실시간적인 소통을 위해서는 대화가 원활하게 이어지도록 거의 즉각적인 필터링이 필요합니다. 아이디어를 반복적으로 논의하고 협업하기 위해서는 창의성이 끊이지 않도록 신속한 피드백이 필수적입니다. 당사의 다층 방어 시스템에는 경고 알림, 시간 제한, 계정 정지 등의 사전 예방적 조치가 포함되어 있습니다. 텍스트 필터링 시, 당사는 개인 식별 정보(PII), 욕설, 혐오 발언 등 정책 위반 용어를 밀리초 단위로 차단하여 사용자가 부적절한 콘텐츠에 노출되는 것을 방지합니다.
음성 통신은 같은 방식으로 차단할 수 없으므로, 화면 알림을 통해 사용자에게 안내합니다. 당사의 경고 알림은 사용자 행동을 효과적으로 변화시켰으며, 예의 바른 대화와 참여도를 모두 높였습니다. 당사의 음성 안전 분류기는 8개 언어로 된 채팅을 15초 이내에 검토합니다. 또한 업계와 안전 혁신 기술을 공유하겠다는 당사의 광범위한 약속의 일환으로 이 모델을 오픈소스로 공개했습니다.

사용자가 계속해서 당사의 정책을 위반할 경우, 일시적인 경고부터 음성 채팅 이용 제한에 이르기까지 점점 더 엄격한 조치가 내려집니다. 내부 연구에 따르면, 이용 정지 조치는 이후 최대 3주 동안 효과가 지속되어 재위반률과 사용자 신고 건수를 감소시키는 것으로 나타났습니다. 초기 실험 결과, 이러한 즉각적인 개입과 제재 조치가 커뮤니티의 예의 바른 분위기에 긍정적인 영향을 미치는 것으로 확인되었습니다. 최신 버전의 음성 분류기는 초기 버전보다 리콜률이 92% 더 높으며, 오탐률은 1%에 불과하고, 최대 8,300 RPS를 처리하고 있습니다. 저희는 정밀도와 리콜률을 모두 향상시킬 수 있는 추가적인 방법을 지속적으로 모색하고 있습니다.
음성 채팅 알림의 성공을 바탕으로, 텍스트 채팅에도 실시간 피드백을 도입하기 시작했습니다. 최근 실험 결과, 텍스트 채팅 내에서 알림과 시간 제한 조치를 적용했을 때 필터링된 채팅 메시지가 5% 감소하고, 악용 신고로 인한 제재 건수도 6% 감소한 것으로 나타났습니다. 또한 크리에이터가 콘텐츠를 업로드할 때 실시간 피드백을 제공하는 실험도 시작하고 있습니다.
데이터 품질: 지속적인 개선을 위한 모델 훈련
저희는 정책 위반 가능성이 있는 모든 콘텐츠를 제거하는 쪽으로 판단하는, 즉 오탐(false negative)을 최소화하도록 시스템을 훈련합니다. 동시에 사용자가 규정을 준수한다고 믿는 콘텐츠가 삭제될 때 느끼는 좌절감도 잘 알고 있습니다. 따라서 오탐(false positive)도 최소화하기 위해 시스템을 지속적으로 개선하고 있습니다. 올바르게 라벨링된 데이터는 모든 분류기의 정확도를 높이는 데 필수적입니다.
견고한 훈련 및 평가 데이터셋을 구축하려면 충분한 양의 고품질 예시와 이를 정확하게 라벨링할 전문 인력이 모두 필요합니다. 드문 시나리오나 경계 사례로 인해 데이터가 부족한 경우도 있습니다. 때로는 데이터가 너무 많아 가장 효과적인 예시를 선별해야 할 때도 있습니다. 또한 로블록스(Roblox)에서 실제로 발생하는 상황과 일치하는 데이터가 필요합니다. 여기에는 속어나 밈(meme)과 같은 일시적인 예시도 포함됩니다. 어린이, 청소년, 게이머로 구성된 우리 이용자들은 끊임없이 새로운 속어, 트렌드, 그리고 당사의 콘텐츠 관리 도구를 우회하는 새로운 방법을 제시합니다. 이들은 우리를 항상 긴장하게 만들며, 이것이 바로 우리가 콘텐츠 관리 도구와 정책을 지속적으로 테스트하고 평가하는 이유입니다.
우리는 이러한 데이터셋을 선별하기 위해 다양한 샘플링 전략을 사용하며, AI와 인간 전문가를 모두 활용하여 데이터 예시를 생성하고 라벨링합니다. 정책 전문가들은 '골든 세트(golden set)'라고 부르는 예시들을 직접 선별합니다. 이는 시스템이 탐지하기를 원하는 문제와 가장 밀접하게 일치하는 예시들입니다. 우리는 불확실성 샘플링을 포함한 여러 샘플링 전략을 통해 방대한 데이터셋에서 샘플을 추출하는데, 불확실성 샘플링은 모델이 이전에 혼란을 겪었던 경계 사례를 샘플링하는 방식입니다. 또한 인간 전문가와 AI 지원 레드팀(AARTs에 대한 자세한 내용)으로부터 샘플을 확보합니다. 이들은 적대적 공격을 시뮬레이션하여 시스템의 취약점을 탐색함으로써 시스템을 테스트합니다.
또한 새로운 문제, 속어, 밈 등을 발견할 때마다 훈련 세트를 확장하고 개선합니다. 이러한 예시 중 일부는 사용자가 추가 검토를 요청할 수 있는 이의 제기 절차를 통해 확보합니다. 결정이 번복될 경우, 해당 예시는 데이터셋의 일부가 되어 시스템이 다음 번에는 올바르게 판단할 수 있도록 돕습니다.
나머지 사례는 당사의 강력한 악용 신고 시스템을 통해 수집됩니다. 이 시스템은 이러한 경험과 커뮤니티를 중요하게 생각하는 수천만 명의 사용자를 포함시켜, 사실상 당사의 인간 운영자 팀을 확장하는 역할을 합니다. 최근 당사는 신고 도구를 개선하여 사용자가 아바타 및 객체 ID를 포함한 전체 화면을 캡처하고 신고하고자 하는 부분을 강조 표시할 수 있는 옵션을 제공했습니다. 사용자들의 적극적인 참여가 이어지고 있으며, 신고 요건을 충족하는 사례의 약 15%에서 시각적 주석이 제공되고 있습니다. 이러한 추가적인 맥락 정보는 사용자들이 빈번하게 문제를 제기하는 경험을 선제적으로 식별하는 데 도움이 됩니다. 모델 훈련이 즉각적으로 이루어지지 않기 때문에, 당사는 대응 속도를 높이기 위해 사용자 신고 내용을 바탕으로 AI 기반 규칙을 자동으로 생성하는 방안도 모색하고 있습니다.

우리는 이러한 데이터셋을 합성 데이터로 보완합니다. 여기서 대규모 언어 모델(LLM)은 실제 사례를 모방한 인공 데이터 예시와 레이블을 생성합니다. 이의 장점은 드문 사례나 극단적인 경우라도 수백만 개의 예시와 레이블을 생성할 수 있다는 점입니다. 충분한 레이블링된 데이터가 확보되면, 이를 훈련용과 평가용 두 개의 데이터셋으로 나눕니다. 견고한 평가 데이터셋을 확보하는 것은 매우 중요합니다. 평가 세트가 너무 쉬우면 모델의 지표는 잘 작동하는 것처럼 보이지만, 실제 운영 환경에서는 오류가 발생할 수 있습니다. 데이터의 양보다 정확성이 더 중요합니다. '쓰레기를 넣으면 쓰레기가 나온다(Garbage in, garbage out)'는 말은 머신러닝(ML) 분야에서 실제 우려되는 문제입니다. 모델의 성능은 훈련 및 평가에 사용되는 데이터의 정확성에 크게 좌우되기 때문입니다.
견고한 평가 데이터셋을 확보하면, 우리는 '일치도(alignment)'와 '품질'이라는 두 가지 핵심 지표를 바탕으로 이를 평가합니다. 일치도를 테스트하기 위해 동일한 예시를 여러 명의 검토자에게 보내 라벨링을 수행하게 하고, 그들의 라벨이 일치하는지(또는 정합되는지) 확인합니다. 라벨 간의 일치도가 80% 이상이라면, 이는 우리 검토자들이 대규모로 일관된 결정을 내릴 수 있음을 의미합니다. 80% 미만이라면 정책이나 훈련 과정이 혼란스러울 수 있으므로 개선이 필요합니다. 품질 테스트를 위해, 우리는 골든 세트를 인간 평가자에게 보내 정책 위반 여부를 판단하게 하고, 그들이 올바른 결정을 내리는지 확인합니다. 또한 전문가들이 검토할 수 있도록 결정 사례를 표본 추출합니다. 전문가들이 모두 올바른 결정을 내린다면, 우리 정책은 올바르게 적용될 수 있습니다. 높은 정합성과 높은 품질은 우리 정책이 정확하고 일관되게 적용될 수 있음을 의미합니다. 그렇지 않다면, 우리는 다시 돌아가 정책과 훈련 세트 모두를 재평가합니다.
사용자가 거의 모든 것을 자유롭게 창작하고 소통할 수 있는 로블록스(Roblox)와 같은 플랫폼의 창의적인 특성상, 플랫폼은 끊임없이 진화합니다. 커뮤니티를 안전하고 건전하게 유지하기 위해서는 우리의 콘텐츠 관리 방식도 그만큼 빠르게 진화해야 합니다. 우리의 능동 학습 시스템은 언어의 진화, 사용자 패턴의 변화, 현실 세계의 사건 발생에 따라 모델을 지속적으로 업데이트합니다. 우리는 확장성이 뛰어나고, 빠르며, 정확하고, 우리 모두가 살고 있는 역동적인 세상에 지속적으로 적응하는 시스템을 지속적으로 구축하고 있습니다.
12025년 1분기 기준.
22024년 2월 17일부터 2024년 12월 31일까지의 보고 기간을 다룹니다.


