2022.01.26 AI

지속 가능한 AI 기술 개발을 위한 도전과 노력, Game AI Lab

엔씨 AI 센터 산하 Game AI Lab에서 MMORPG의 대규모 집단 전투를 강화학습 기반 AI를 활용하여 업계 최초로 리니지 리마스터에 선보였습니다. ‘거울 전쟁’과 ‘전설 vs 현역’은 강화학습 기술이 앞으로 MMORPG 게임에서 어떻게 활용될 수 있을지를 보여준 첫 번째 사례입니다. Game AI Lab의 강화학습 팀과 AI System 팀이 Group PVP AI 기술을 개발하고 서비스에 적용하기까지 시도하고 도전한 일들을 살펴보려 합니다. 강화학습 AI와 개발 문화, 더 나아가 앞으로의 미래도 살펴보겠습니다.

* 관련 기술에 대한 자세한 이야기는 링크에서 확인 바랍니다.

두 번째 줄 왼쪽부터 시계방향으로 (강화학습 팀) 정지년 팀장, 양민규, 문상빈, (AI System 팀) 한태경, 이효일 팀장, 정민철, (강화학습 팀) 오인석, (AI System 팀) 안진형, (강화학습 팀) 박용찬, 박현수

* 인터뷰는 코로나19 방역지침을 준수하여 진행되었습니다.



세계 최초 강화학습 AI 기술의 MMORPG 게임 적용기

이번 강화학습 기반 AI 연구를 하면서 어떤 부분에 중점을 두었나
(강화학습 팀) ‘실용화’다. 실무에 바로 적용할 수 있는 기술을 만들고자 했다. 적은 리소스로 요구 조건을 모두 만족할 수 있는 AI를 만드는 데 집중했다. 또한, 단순한 업적에 그치지 않고 지속적으로 개발할 수 있는 AI 연구 개발 환경을 구축하기 위해 시스템이나 개발 파이프 라인도 함께 고민했다.

유저의 다양성에 대응하기 위해 캐릭터 스펙을 구성하는 데 고민이 많을 것 같다. 강화학습 AI를 학습시킬 때 어떤 것을 중점으로 진행하였나?
(강화학습 팀) 1:1 PVP AI와 다르게 Group PVP AI는 AI끼리 협력하는 전략을 구사해야 하므로 다양한 변수에 노출시키고 싶었다. 먼저, 환경과 학습 알고리즘을 검증하기 위해 제한적인 환경에서 간단한 규칙을 심어 만든 AI를 이길 수 있는지 테스트했다. 짧은 시간 내에 강화학습한 AI와 규칙으로 움직이는 AI의 전투 데이터를 보며 문제점을 발견하고 수정했다. 그 후 강화학습 AI끼리 ‘Self-Play Learning’을 시켰다. 이 과정을 통해 다양한 상대와 상황에 대응하는 법을 배운 AI가 여러 경우에 맞게 적절한 전략을 구사하고 성능 측면도 좋아졌음을 확인했다. 마지막으로 플레이어들의 예측 불가한 전략에 대응하는 것도 신경 썼다. 가령, 좁은 입구를 막는 전략에 대응하기 위해 학습 시작 위치 중 일부를 좁은 입구에서 대치하는 위치로 잡아 입구를 막는 전략에 대응하는 방법을 배우게 하는 등 강화학습 AI가 ‘Self-Play Learning’만으로 학습할 수 없는 맹점을 보완했다.


플레이어의 모든 행동에 대응하기란 어려울 것 같다. 한계도 존재하는가?
(강화학습 팀) 아직 커버하지 못한 부분도 있다. 예를 들어 플레이어가 투명 망토를 착용하고 기습하는 경우나 1:1 PVP 존으로 AI를 유인해 하나씩 AI를 줄여가는 전략은 ‘Self-Play Learning’만으로는 대응하기 어렵다. 그래서 특정 상황은 Rule을 심어 해결했다. 투명 망토를 착용하고 접근하면 디텍션(detection)을 사용하게 하고, 유인 플레이에는 적이 특정 위치에 있으면 다가가지 않도록 조정했다.

개발 기간이 짧았다고 들었다. 그만큼 다양한 시도를 하기는 어려웠을 것 같은데, 이를 해결하기 위해 어떤 노력을 했나
(강화학습 팀) 가볍고 빠른 연구용 플랫폼을 만들고 그 안에서 미니 게임을 통해 여러 가지를 시도했다. 실제 게임 환경은 Layer 간 의존성이 높아서 다양한 시도를 하기에 적합하지 않다. 팀이 해결해야 할 문제만 반영하여 자유롭게 환경을 구성할 수 있는 플랫폼이 필요하다고 생각했다. Group PVP를 비롯한 ‘리니지-like’한 환경을 만들기 적합한 스타크래프트2 API를 선정하여 강화학습 플랫폼으로 만들어 빠르게 AB 테스트를 할 수 있었다.

그러한 플랫폼을 사용했을 때 실질적인 이점은 무엇인가
(강화학습 팀) 게임의 복잡도가 높으면 강화학습을 실행하기 위한 환경을 구축하고 검증하는 과정에서 많은 시간과 비용이 소모된다. 플랫폼 전략을 활용하면 이 시간을 줄일 수 있다. 콘텐츠를 기획하는 과정에서 필요하다고 파악된 기술을 먼저 확인하고 자체 플랫폼에서 알고리즘 검증을 위한 미니게임 환경을 구축하여 사전에 테스트했다. 실제 게임에서 환경 구축이 완료되면 미니 게임에서 검증한 내용을 바탕으로 빠르게 AI 학습을 진행할 수 있었다. 그 결과, 기술적 불확실성으로 인한 리스크를 크게 줄여 개발 기간을 단축하는 실질적 이점을 얻었다.


안정적인 개발 환경을 위해, 든든한 개발 파이프 라인 구축

이번 성과는 AI System 팀의 역할도 컸다. 기술 상용화를 위해 AI System 팀이 해결한 문제와 그 해결 방법은 무엇이었나
(AI System 팀) 짧은 개발 기간 안에 많은 내용을 업데이트해야 했다. 기존에는 게임 업데이트를 반영하는 데 오랜 시간이 걸렸다. 내용들을 합치는 과정에서 충돌이 일어나기도 했다. 이번 프로젝트에서는 잦은 주기로 게임 환경을 업데이트하고 빠르게 검증하여 강화학습 팀에 전달해야 했기에 설계부터 게임의 변화에 유연한 구조로 만들기 위해 노력했다. 먼저, 지금까지 강화학습을 연구 개발한 경험을 토대로 AI 콘텐츠 학습 및 서비스 동작 구조를 일반화했다. Template 기반 자동 코드 생성 기술을 적용하여 빠르게 인터페이스를 만들 수 있는 ‘표준 AI 프레임워크’를 개발하여 길게는 2시간 이상 걸리던 학습 시스템 업데이트 작업 시간을 5분 내외로 줄였다. 또한 원클릭으로 게임 서버군을 ‘Windows Container’로 패키징하고 대규모 클러스터로 배포할 수 있는 ‘클라우드 기반 AI 학습 시스템’을 도입하여 학습 환경에 신규 게임 콘텐츠 업데이트를 적용하는 시간을 10분 내외로 획기적으로 줄였다.


개발 기간이 짧았던 만큼 학습 시간을 확보하기 위해 치열하게 고민했을 것 같다
(AI System 팀) 특히 실험 환경을 효율적으로 관리하는 데 힘썼다. 기존에는 이슈에 대비하기 위해 연구자가 학습 환경을 직접 모니터링하여 불필요하게 소모되는 시간이 많았다. 이번 프로젝트에서는 Teams webhook을 통해, 이슈가 발생했을 때 이슈 리포트가 자동 발송되어 별도의 모니터링 없이도 즉시 확인할 수 있게 했다. 또한 자동 복구 기술을 도입하여 실험 환경에서 문제가 생겨도 연구자가 관리할 필요 없이 학습 상태를 유지하도록 하여 학습 시간을 최대한 확보했다.

서비스 상용화를 위한 안정화는 개발자의 숙명으로 알고 있다. 실제 게임 환경 안정성을 확보하기 위해 고민한 점은 무엇이었는가
(AI System 팀) 강화학습 환경의 시뮬레이션 구조는 실제 서비스와 유사하므로 이를 이용하여 학습 시스템을 검증하고, 서비스 배포에도 활용할 수 있을 것이라고 판단했다. 콘텐츠 AI 개발 파이프라인을 보면, 학습 시스템을 배포하기 전에 테스트 도구를 이용하여 기본적인 동작에서 나타나는 이상이 사라질 때까지 검증과 수정을 반복한다. 1차 검증이 완료되면, 복잡한 학습 시나리오 기반 소규모 시뮬레이션을 통해 학습에 문제가 없는지 2차로 검증한다. 2차 검증까지 끝나면 실제 학습 단계에 돌입하여 대규모 시뮬레이션과 동시에 과부하 상태에서도 장시간 동안 문제가 발생하지 않는지를 검증한다. 이렇게 학습 과정에서 만들어진 학습 시스템을 실제 서비스에 배포하였고, 아무런 문제없이 시즌을 마칠 수 있었다. 개발 파이프라인 과정에서 안정성을 충분히 검증했기 때문에 가능한 시나리오였다.


게임안에서 다양하게 펼쳐질 AI 기술을 꿈꾸며

이번 프로젝트는 어떤 의미가 있었나
(AI System 팀) 기술적으로는 MMORPG에 강화학습 기술을 적용한 첫 사례라는 점이 큰 의미가 있다. PVP와 보스 레이드, NPC 사냥 등 기존의 AI 콘텐츠가 수행하지 못한 입체적 행동을 할 수 있는 AI를 만든 것도 큰 성과다. 또한, 개발 파이프라인을 구축하여 AI 콘텐츠 업데이트 요청에 대응하는 속도도 높일 수 있었다.

게임 콘텐츠적으로는 게임 내 AI 활용도가 높아졌다는 점이 있다. MMORPG를 위한 AI 콘텐츠의 가능성을 확인한 것만으로도 큰 수확이라고 생각한다.

앞으로의 계획은
(강화학습 팀) 앞으로도 지속적으로 AI 업데이트를 할 예정이다. 지형을 활용하는 포지셔닝 능력 개선이나 AI에 공격 지향이나 생존 지향 등의 성향을 부여하는 등 라이브 게임의 콘텐츠 업데이트에 따라 AI 기술도 개선하고 업데이트할 예정이다.

앞으로 강화학습 AI가 어떤 모습으로 엔씨소프트 IP에 적용될 것으로 보나
(AI System 팀) 이번 업데이트를 통해 전투 콘텐츠 영역에 강화학습을 활용할 가능성을 충분히 보았다. 앞으로는 게임 내 전투가 아닌 콘텐츠 영역이나 게임 시뮬레이터를 활용한 다양한 서비스 개발 혹은 AI 연구도 상상해볼 만하다.

(강화학습 팀) 또 강화학습을 의사 결정 자동화를 위한 AI 제작 방법으로도 생각해볼 수 있다. 그동안 Playable Character(PC)에 AI를 적용하는 데 초점을 맞췄다면 더 흥미로운 게임을 구축하기 위해 PC 외의 요소에 지능을 부여하는 방법으로 강화학습을 적용할 수 있을 것 같다. 단순하게는 NPC의 지능을 높이는 방법으로 개발하거나 Environment Manager를 좀 더 지능적으로 만들 수 있을 것 같다.


(좌) 강화학습 팀(좌측부터 시계 반대 방향으로 정지년팀장, 박용찬, 오인석, 박현수, 문상빈, 양민규)
(우) AI System 팀(좌측부터 안진형, 한태경, 이효일팀장, 정민철)

 

연구실 환경과 실제 서비스 환경은 매우 다르다. 상용화는 연구자들에게 어려운 도전이다. 이를 이어가고 있는 다른 현직자들에게도 한마디 부탁한다
(강화학습 팀) 연구 개발과 상용화가 맞물려 진행될 경우 산출물의 품질과 일정이 크게 불확실해질 수밖에 없다. 따라서 필요한 요소 기술은 Toy Problem을 통해 사전 검증하고, 개발 과정에서도 점진적으로 환경의 복잡도를 높여가며 단계적으로 불확실성을 낮추려고 노력할 필요가 있다.

또한 AI를 학습시키는 것 못지않게 시뮬레이터를 개발하고 안정화하는 데 비용이 많이 들어간다. 이를 줄이려면 연구자와 개발자, 기획자가 긴밀하게 커뮤니케이션하는 것이 중요하다.

(AI System 팀) 당연한 얘기지만, 상용화에서는 안정성을 최우선으로 고려해야 한다. 특히 라이브 게임과 같이 현재 서비스 중인 시스템이라면 더욱더 안정성 확보가 중요하다. 시스템적으로 크래시를 유발할 허점이 있는지, 부하에 따른 문제는 무엇이고 어떻게 해결할 수 있을지 등을 다양한 시각으로 분석하고 미리 대응해서 라이브 서비스에 영향을 끼치지 않게 하는 것이 중요하다고 생각한다.

또한, 마지막으로 드리고 싶은 말은 리니지 캠프의 과감한 시도에 감사의 말씀을 드린다. 전쟁터나 다름없는 게임 라이브 서비스를 진행하면서도 R&D에 투자하는 것은 굉장히 어려운 결정이라고 생각한다. 그럼에도 새로운 혁신을 위한 리니지 캠프의 과감한 투자가 없었으면 기술 개발도 어려웠을 것이라고 생각한다.

AI_interview_220126_07

TOP