LLM 통합으로 뮤즈 챗의 정확성과 신뢰성을 높이는 방법
이번 호에서는 유니티 뮤즈 챗(Unity Muse Chat)이 유용한 솔루션을 제공하기 위해 정확히 어떻게 설계되었는지 알 수 있도록, 응답을 생성하는 과정의 구성 방식을 살펴본다. 현재 진행 중인 탐구 활동과 향후 개발 예정인 LLM(대규모 언어 모델) 파이프라인에 대해서도 미리 살펴볼 수 있다.
■ 자료 제공 : 유니티 코리아, https://unity.com/kr
그림 1
유니티 뮤즈(Unity Muse)는 AI 기능을 통해 실시간 3D 경험을 탐색하고, 아이디어를 구상하고, 반복 작업(iteration)을 수행할 수 있도록 지원한다. 뮤즈 챗은 제작 속도를 높이는데 사용할 수 있는 툴이다. 뮤즈 챗은 유니티에 대한 지식과 에디터를 손쉽게 활용하도록 지원하여 디버깅 조언, 첫 번째 초안 작성을 위한 코드 생성 등 유용한 정보를 유니티 에디터와 프로젝트의 컨텍스트 내에서 모두 제공해 준다.
풍부한 지식 보강으로 신뢰할 수 있는 답변 제공
뮤즈 챗은 쿼리 계획 및 다양한 정보의 중재를 위한 여러 시스템과 LLM(대규모 언어 모델) 통합으로 구성된 파이프라인으로서 구축되었다. 뮤즈 챗은 요청을 수신하면 에디터나 사용자가 제공한 정보 및 해결하려는 문제를 기반으로 향후 응답의 형식을 간략하게 설명하는 작업 계획을 도출한다.
Space Purr-suit의 공동 제작자인 제시카 소우자는 “나는 뮤즈를 개인 비서처럼 사용하여 모든 것을 직접 구축하고 코딩했다. 물론 동료들의 도움도 있었지만, 뮤즈가 없었다면 이렇게 짧은 시간 안에 탁월한 결과를 얻지 못했을 것 같다”고 전했다.
신뢰도 높은 응답을 구성할 때는 두 가지 과제가 있다. 하나는 응답을 작성하기 위해 관련 정보를 검색하는 것이고, 다른 하나는 대화의 맥락과 기록을 바탕으로 해당 정보가 응답에 적절하게 포함되도록 하는 것이다.
뮤즈 챗은 정보를 수집하여 문서 섹션이나 코드 스니핏과 같은 80만 개 이상의 정보 청크를 통해 이 두 가지 과제를 모두 해결하고자 한다. 청크는 주변 정보에 대한 참조를 통해 처리 및 보완되므로 각각 유용하고 독립적인 정보 유닛을 제공한다. 청크는 기술 자료를 통해 추적된 내용에 따라 콘텐츠와 고유한 컨텍스트를 기준으로 분류된다. 또한 시스템의 투명성과 해석 가능성을 제공하며, 호환 가능한 정보를 효과적으로 검색할 수 있도록 한다. 현재 나머지 파이프라인이 어떻게 구성되어 있는지 알아보려면 <그림 2>의 다이어그램과 다음의 설명을 참조할 수 있다.
그림 2
- 요청 : 요청이 들어왔다.
- 에디터 컨텍스트 : 에디터에 있는 경우 관련 컨텍스트가 에디터에서 동적으로 추출되며, 뮤즈에 적절한 정보를 제공하라는 요청이 함께 제시된다.
- 쿼리 확장 : 초기 계획 시스템은 정확한 계획을 도출하기 위한 쿼리 확장을 수행한다. 정보 카탈로그 형식을 최대한 복제하고 각 단계에 맞는 이상적인 청크 구조를 다시 만들도록 LLM에 지시한다. 이 접근 방식을 사용하면 시스템이 원하는 청크의 컨텍스트, 콘텐츠 및 사용 사례를 캡처하는 임베딩을 계산할 수 있다. 이러한 각 계획 단계는 세분화된 시맨틱 검색에 사용된다.
- 정보 검색 : 관련 정보를 찾기 위해 대칭 시맨틱 검색 및 메타데이터 필터링을 사용하여 쿼리 확장 단계에서 식별한 이상적인 예상 청크와 가장 유사한 청크를 정보 카탈로그에서 검색한다.
- 공식화 : 최종 응답을 생성하기 위해, 필터링된 원래 계획 단계와 관련 기본 정보를 전달하는데 필요한 소스를 모두 포함하는 세부 개요를 기반으로 다른 LLM을 사용하여 응답을 작성한다.
- 응답 : 뮤즈 챗이 답변을 제공한다.
상황에 맞는 파이프라인을 구축하여 에디터 통합 지원
에디터에서 뮤즈 챗을 사용할 수 있도록 만들기 위해, 파이프라인의 두 번째 단계인 에디터 컨텍스트 추출을 도입했다. 이를 파이프라인의 맨 처음에 추가하면 쿼리를 분석하여 에디터에서 추출할 내용을 식별하고, 이를 파싱하여 뮤즈에 다음 단계에 대해 알려 준다. 사용자 피드백을 바탕으로 프로젝트 설치 및 설정, 게임 오브젝트/프리팹, 콘솔 액세스부터 작업을 시작했다.
이제 경고나 메시지와 함께 콘솔 오류가 발생하면 콘솔에서 관련 행을 클릭하여 오류를 선택 항목에 추가하기만 하면 된다. 아래 예시에서는 스크립트에서 중괄호가 누락되어 오류가 발생했다.
그림 3
■ 자세한 기사 내용은 PDF로 제공됩니다.