Hugging Face NPC-Playground: 3D 환경에서 LLM 기반 NPC 통합
Hugging Face는 NPC-Playground를 소개했습니다. 이는 사용자가 Large Language Models(LLM)로 구동된 Non-Playable Characters(NPC)와 상호작용할 수 있는 3D 인터랙티브 데모입니다. 이 프로젝트는 LLMs가 전통적인 규칙 기반 시스템을 대체하여 현실적인 대화, 복잡한 행동 실행, 그리고 지침 따르기가 가능한 캐릭터를 만들 수 있음을 보여줍니다.
NPC-Playground 기술 스택
NPC-Playground은 언어 모델과 3D 게임 환경 사이의 격차를 해소하기 위해 세 가지 주요 구성 요소로 구축됩니다:
- Cubzh: 크로스플랫폼, 오픈소스 User Generated Content(UGC) 게임 엔진으로, Roblox의 대안으로 설계되었습니다. 3D 환경, voxel 아이템, 그리고 게임 로직을 위한 Lua 스크립팅 API를 제공합니다.
- Gigax: LLM 기반 NPC를 대규모로 실행하기 위해 특별히 설계된 엔진입니다. 캐릭터의 지능 및 행동 선택 로직을 처리합니다.
- Hugging Face Spaces: 오픈소스 방식으로 게임 개념을 배포하고 반복하는 데 사용되는 호스팅 환경입니다.
Gigax: 함수 호출을 통한 NPC 지능 구현
Gigax는 '함수 호출' 원리를 활용하여 NPC가 환경과 상호작용할 수 있도록 합니다. 이 접근 방식은 LLM을 단순한 텍스트 생성기에서 특정 게임 내 행동을 수행할 수 있는 에이전트로 변환합니다.
입력 및 출력 흐름
- 입력: 모델은 3D 장면의 텍스트 설명(프롬프트), 최근 사건의 요약, 그리고 사용 가능한 행동의 포괄적인 목록(예:
<say>,<jump>,<attack>)을 받습니다. - 출력: 모델은 장면 내 기존 3D 엔티티를 참조하는 매개변수를 사용하여 특정 행동 명령을 생성합니다. 예시 출력은
say NPC1 "Hello, Captain!".
오픈소스 모델
Gigax는 오픈소스 인ference 스택을 공개하고 Hugging Face Hub에서 개발자용 파인튜닝 모델을 제공합니다:
- NPC-LLM-3_8B: Phi-3 모델의 파인튜닝 버전입니다.
- NPC-LLM-7B: Mistral-7B 모델의 파인튜닝 버전입니다.
Cubzh: UGC 게임 엔진
Cubzh는 데모의 기반 게임 엔진 역할을 합니다. 이는 25,000개 이상의 커뮤니티 제작 voxel 아이템 라이브러리를 사용하여 사용자가 세계 아이템과 아바타를 만들 수 있는 공개 알파 프로젝트입니다. 개발자는 Lua 스크립팅 API를 사용하여 게임 경험을 코딩할 수 있으며, NPC-Playground 데모에서는 cubzh.lua 파일을 수정하여 NPC에게 새로운 기술을 가르칠 수 있습니다.
맞춤 설정 및 개발자 리소스
사용자는 Hugging Face Spaces를 통해 라이브 데모와 상호작용할 수 있습니다. 자체 AI 기반 NPC를 구축하려는 사람들을 위해 Hugging Face는 포괄적인 'ML for Games Course' 튜토리얼과 NPC 행동을 조정하고 새로운 기술을 추가하는 데 대한 자세한 문서를 제공합니다.