"당신만의 챗GPT, 코파일럿을 만드세요"
"당신만의 코파일럿을 만들 수 있게, 마이크로소프트가 코파일럿 구축에 사용한 플랫폼을 개방한다. 검색 코파일럿, 보안 코파일럿, 생산성 코파일럿, 그리고 여러분 모두 스스로 만든 코파일럿을 가지게 될 것이다." 케빈 스콧 마이크로소프트 최고기술책임자(CTO)는 23일 미국 시애틀에서 개최된 개발자 컨퍼런스 '마이크로소프트 빌드2023' 기조연설에서 대화형 AI 서비스를 구축할 수 있는 기술 세트 '코파일럿 스택'를 소개하며 이같이 말했다. 마이크로소프트의 코파일럿 스택은 기업이나 개발자가 자신만의 생성AI 기반 서비스를 구축할 수 있는 기술세트다. AI 슈퍼컴퓨터 인프라와 파운데이션 모델의 백엔드, 코파일럿 인터페이스와 플러그인 확장을 가진 프론트엔드, 그리고 프론트엔드와 백엔드 중간 매개체인 'AI 오케스트레이션' 등 세개의 계층으로 이뤄졌다. 개발자는 코파일럿 스택을 활용해 생성 AI 전용으로 구축된 애저의 인프라에 오픈AI GPT-4나 오픈소스 LLM 등의 파운데이션 모델을 넣고, 대화형 AI 서비스 아이디어를 구체화하는 코파일럿 애플리케이션과 기능 및 역량을 확장하는 플러그인을 개발할 수 있다. AI 오케스트레이션 계층으로 파운데이션 모델을 미세조정하고, 프롬프트를 더 구체화하는 메타프롬프트를 지정하며, 사용자 명령을 더 구체화하는 '접지(그라운딩)'를 추가할 수 있다. 마이크로소프트는 여기에 'AI 세이프티'란 서비스를 제공해 사용자의 코파일럿이 윤리적으로 잘못된 답변을 하지 않도록 관리하고, 생성한 콘텐츠의 출처를 명시할 수 있게 한다. 사티아 나델라 마이크로소프트 최고경영자(CEO)는 "마이크로소프트는 하나의 공통 아키텍처 스택으로 모든 코파일럿을 구축했다"며 "모든 사람이 자신의 애플리케이션을 위한 자신만의 코파일럿을 구축할 수 있도록, 이를 사용하도록 만들고 싶다"고 밝혔다. 그는 "코파일럿 스택으로 AI 인프라부터 파운데이션 모델, AI 오케스트레이션, 코파일럿과 확장성에 이르는 모든 것을 갖추게 된다"며 "챗GPT, 빙 챗, 마이크로소프트365 코파일럿, 또는 모든 마이크로소프트 코파일럿 등과 여러분만의 코파일럿은 동일한 확장성 모델을 공유한다"고 덧붙였다. ■ 파운데이션 모델의 완성을 기다릴 수 없다 케빈 스콧 CTO에 따르면, 마이크로소프트는 깃허브 코파일럿을 시작으로 여러 코파일럿 시리즈를 구축하면서 사용자경험 측면에서 일관된 공통점을 발견했다고 했다. 뱔견한 공통점에 기반한 단일 플랫폼에서 코파일럿을 만들었던게 100일 간 수많은 코파일럿을 연이어 선보일 수 있었던 비결이었다고 강조했다. 그는 "플랫폼은 당신이 만들 수 있는 것보다 더 야심찬 것을 만들 수 있는 기회를 준다"며 "플랫폼은 원하는 애플리케이션을 구축하기 위해 처음부터 매우 복잡한 것을 구축하는 부담을 방지하며, 방대한 규모의 컴퓨팅과 파운데이션 모델이 재사용 가능하고 일반화 가능하다는 사실은 환상적이다"라고 밝혔다. 그는 단일의 AI 구축 플랫폼이 필요한 이유에 대해 "파운데이션 모델의 완성을 기다릴 수 없기 때문"이라고 설명했다. GPT-4를 비롯한 여러 파운데이션 모델이 이미 강력하고, 급속도로 발전하고 있지만 모든 걸 할 수는 없다. 파운데이션 모델이 기업이나 조직, 개인의 원하는 바를 수행하게 되도록 교육받을 때까지 기다리지 말고, 완벽하지 않은 모델을 활용해 애플리케이션을 구축할 방법을 제공해야 한다는 것이다. 그러면서 "플러그인은 기본 플랫폼에서 허용하는 것보다 더 많은 작업을 수행할 수 있도록 코파일럿 또는 AI 앱을 보강하는데 사용하는 강력한 메커니즘 중 하나가 될 것"이라고 말했다. 코파일럿의 사용자 경험을 구축하는 건 기존의 애플리케이션 UX를 구축하는 것과 같으면서도 다르다. 그는 "코파일럿 사용자경험 구축은 일반 애플리케이션 개발과 동일한 점도 있고, 다른 점도 있다"며 "앱 아키텍처가 있고, 그에 대해 새로 배워야 할 게 잔뜩 있다"고 말했다. 그는 "모델은 제품이 아니며, 인프라 회사가 아닌 이상 모델 자체는 제품을 지원하는 인프라일 뿐"이라며 "구축할 필요가 없는 인프라는 구축하지 마라"고 강조했다. ■ 코파일럿의 해부학 케빈 스콧 CTO는 위에서 아래로 가며 세 계층의 중요 요소를 설명했다. 먼저 생성 AI 애플리케이션인 프론트엔드 영역이다. 프론트엔드는 코파일럿의 아이디어를 구체화하는 것에서 시작된다. 아이디어 구체화 방법은 일반적인 애플리케이션 UX 구축과 비슷하기도 하다. 그러나 인터페이스를 고민하기보다 코파일럿으로 실제로 할 수 있는 무언가를 고민하는 게 더 중요하다. 케빈 스콧 CTO는 "일반적으로 애플리케이션의 UX 구축은 사용자인터페이스 요소, 메뉴, 작업에 코드 바인딩, 사용자 요구사항의 완전한 예측, 특정하고 친숙한 방식으로 설계해 도달하는 방법 등 180년간 동일했다"며 "반면, 코파일럿은 사용자 인터페이스를 생각하고 사용자의 원하는 바를 추측하는데 시간을 덜 할애해도 된다"고 말했다. 그는 "사용자가 원하는 것, 인터페이스는 자연어기 때문"이라며 "따라서 코파일럿 설계에서 생각해야 할 것은 코파일럿을 만드는데 필요한 모델이 할 수 없는 일을 파악하고, 오케스트레이션 계층과 플러그인, 그리고 모델을 미세조정하거나 포트폴리오 모델을 사용해 달성할 수 있는 많은 것을 보강하는데 신경써야 한다"고설명했다. 그는 코파일럿에서 하지 않아야 할 행위를 생각하라고 했다. 파운데이션 모델에서 수행할 일을 특정 도메인으로 제한하는 것이다. 그는 "코파일럿 스택 맨 아래 있는 파운데이션 모델은 일종의 무제한 기능의 큰 양동이와 같아서 그것을 특정 도메인으로 제한해야 한다"며 "깃허브 코파일럿에서 해야할 작업은 개발문제 해결에 도움을 주는 것이지, 타코벨의 인기 메뉴항목을 파악하는 게 아니다"라고 말했다. 스콧 CTO는 이어 오케스트레이션 계층을 설명했다. 프론트엔드와 백엔드의 경우 아이디어와 기본 인프라를 선택하기만 하면 상당부분의 고민을 덜 수 있지만, 오케스트레이션 계층은 개발자 스스로 많은 것을 결정해야 하는 부분이다. 필터링, 그라운딩, 프롬프트 등이 해당된다. 그는 "오케스트레이션은 코파일럿의 비즈니스 논리이며, 이 논리는 모델에서 항목을 나열하는 방법을 파악하기 위한 모든 작업을 수행한다"며 "필터링은 훌륭한 앱을 구축하기 위해 수행해야 하는 모든 프롬프트 기능 확장을 수행하며, 이 모든 것에 공통점이 있다"고 말했다. 그는 "코파일럿을 대규모로 시장에 출시하는데 영향을 미친 일 중 하나는 마이크로소프트 내부에서 코파일럿 구축에 사용할 단일 오케스트레이션 메커니즘을 갖도록 결정한 것"이라며 "마이크로소프트의 오케스트레이션 메커니즘은 3월 오픈소스로 공개한 '시맨틱커널(SC)이었다"고 밝혔다. 그는 "그러나 마이크로소프트 외에도 애저 생태계 내에서 매우 잘 작동하는 훌륭한 오픈소스 오케스트레이션 도구로 랭체인 같은 도구도 있다"며 "오케스트레이션은 해결된 문제가 아니므로, 당신에게 적합하다 생각되는 몇가지 옵션 중에 선택해 원하는 오케스트레이션 메커니즘을 이용하라"고 조언했다. 코파일럿 스택의 오케스트레이션 기능 중 하나로 '프롬프트 플로우'가 있다. 프롬프트 플로우는 랭체인과 시맨틱커널을 통합하는 프롬프트 관리도구다. 프롬프트는 사용자의 명령일 수도 있고, 애플리케이션이 모델에 던지는 명령일 수도 있다. 스콧 CTO는 "오케스트레이션 계층 내부에서 조작하게 될 근본은 프롬프트로, 프롬프트는 앱의 UX 계층에서 생성되는 토큰 버킷일 뿐"이라며 "빙챗이나 챗GPT에서 사용자가 모델에 요청하는 질문일 수도 있고, 앱이 구성하는 것일 수도 있다"고 설명했다. 그는 "오케스트레이션 시작 단계에서 이런 프롬프트 처리에서 큰 부분을 차지하는 것은 프롬프트 응답 필터링"이라며 "기본적으로 이런 프롬프트를 허용하지 않을 것이란 전제 하에서 모델이 요구사항을 충족하지 않는 방식으로 응답하거나, 안전하지 않은 작업을 수행하지 않도록 백업 도중 응답을 필터링하게 된다"고 말했다. 그는 필터링을 해야 하는 또 다른 이유로 '메타 프롬프트'를 들었다. 메타 프롬프트는 코파일럿에게 제공하는 고정 지침 세트다. 대화를 진행할 때마다 모델에게 전달돼 구축하려는 코파일럿에게 대응 방법을 알려주게 된다. 빙 챗이 사용자의 질문에 더 정확하고 균형있게 답변하도록 하는 메타 프롬프트가 존재한다고 한다. 그는 "메타 프롬프트는 많은 안전 조정을 발생시키는 지점이며, 모델의 성격을 알려주는 지점"이라며 "메타 프롬프트는 모델에 새로운 기능을 가르치는 방법이기도 하며, 메타 프롬프트 디자인을 미세 조정의 한 형태로 생각할 수도 있다"고 말했다. 그는 "따라서 인프라의 하위 계층으로 내려가 자신의 작업을 시작해야 하는 것보다 메타프롬프트에서 작업을 수행하는 것이 훨씬 쉽다"고 강조했다. 오케스트레이션 계층에서 수행하는 또 하나의 주요 기능은 '접지(Grounding)'라 불리는 것이다. 접지는 모델에게 전달되는 프롬프트에 추가 컨텍스트를 더하는 절차다. 사용자가 질문을 모호하게 할 수도, 파운데이션 모델이 질문을 잘못 이해할 수 있기 때문에, 더 정확한 답변을 내놓도록 질문을 구체화하고 추가 지시를 자동으로 더하는 것이다. 스콧 CTO는 "검색 증강 생성이란 이름을 붙이기 전 실제로 검색 증강 생성을 처음 사용했던 빙 챗의 경우 기본적인 프롬프트에 대해 사용자 쿼리를 보고 검색 인덱스에 쿼리를 발생시켜 프롬프트에 대한 관련 문서를 찾을 수 있었다"며 "우리는 해당 문서를 프롬프트에 추가하고 모델에 보내 좋은 답변을 제공할 수 있는 추가 컨텍스트를 갖도록 했다"고 설명했다. 그는 "점점 더 많은 사람이 검색 증강 생성을 수행하기 위해 벡터 데이터베이스를 사용하고 있다"며 "프롬프트를 받아 임베딩 집합을 계산한 다음 해당 임베딩으로 인덱싱된 벡터 데이터베이스에서 조회를 수행해 프롬프트에 대한 관련 문서를 얻고, 모델에 대한 추가 컨텍스트를 제공해 더 나은 정보를 답변으로 제공할 수 있다"고 말했다. 마이크로소프트 빙 챗의 접지 프로세스는 웹 API를 사용한다. 그러나 스콧 CTO는 접지를 위한 플러그인 사용도 고려할 만한 방법이라고 제안했다. 검색 증강 생성을 위한 플러그인을 개발하는 등 오케스트레이션 계층이 개발자의 미래 수입원을 찾을 수 있다는 얘기다. 그는 "프롬프트가 모델로 들어가기 전 플러그인으로 컨텍스트를 추가하거나 시스템에서 모델에 조치를 취하도록 실행할 수 있다"고 말했다 마지막으로 백엔드 계층이 설명됐다. 백엔드 계층은 파운데이션 모델과, 그를 구동하는 인프라로 이뤄진다. 여러 모델이 인프라 위에 공존할 수 있고, 전체 파이프라인이 구성되는 곳이다. 스콧 CTO는 "애저, 윈도 등은 코파일럿 플랫폼에서 파운데이션 모델을 사용하는 다양한 선택사항을 제공한다"며 "애저 오픈AI 서비스에서 챗GPT 모델이나 GPT-4, 달리 같은 호스팅 기반 모델 중 하나를 선택할 수 있다"고 밝혔다. 그는 "호스팅 기반 모델은 미세 조정할 수 있으며, 현재 챗GPT 3.5 미세조정 API를 사용할 수 있고 곧 GPT-4를 미세 조정할 수 있게 된다"며 "이런 호스팅 기반 모델의 API로 모든 문제를 완전히 해결할 수 없으므로 훌륭한 오픈소스 모델인 허깅페이스나 데이터브릭스 돌리(dolly) 2.0, 혹은 고유한 모델을 사용할 수 있다"고 덧붙였다. 마이크로소프트는 애저 AI 카탈로그란 서비스를 통해 깃허브 내에 존재하는 인기있는 LLM 모델을 쉽게 찾을 수 있게 한다. 코파일럿에 사용하고자 하는 모델을 버튼을 누르는 것으로 애저에 프로비저닝하고 배포할 수 있다. 마이크로소프트의 코파일럿 스택을 이용하는 실질적 도구는 새롭게 출시되는 '애저 AI 스튜디오'다. 애저 AI 스튜디오는 지능형 앱과 코파일럿을 구축하는 전체 수명주기 도구 체인이다. AI 모델을 책임감있게 빌드, 사용자지정, 교육, 평가 및 배포하는 전체 수명 주기 도구다. 몇번의 클릭으로 정형 및 비정형 데이터로 AI 모델을 구축해 맞춤형 대화 서비스를 쉽고 빠르게 구축할 수 있다고 한다. 개발자는 애저 오픈AI 서비스, 허깅페이스 및 기타 여러 오픈소스 모델을 포함해 조직에서 사용하는 인기있는 파운데이션 모델과, 함께 작동하는 새로운 모델 카탈로그를 활용할 수 있다. 프롬프트 플로우로 조직의 관련 데이터를 결합하고 자세한 프롬프트를 생성해 더 나은 결과를 얻게 할 수 있다. 프롬프트 플로우는 오픈소스 모델용으로 내부에서 개발된 ㅍ운데이션과 함께 작동하며 널리 사용되는 오픈소스 도구인 랭체인과 시멘틱커널을 사용한다. 스콧 CTO는 생성 AI 기반 서비스 구축에서 책임있는 AI 구축을 위한 'AI 안전'을 강조했다. 마이크로소프트는 이번 빌드 행사에서 코파일럿 스택에서 규제와 사회 도덕을 준수하도록 관리할 수 있는 '애저 AI 세이프티' 서비스를 선보였다. 애저 AI 세이프티는 마이크로소프트에서 5년간 구축한 프로세스 집합을 솔루션화한 것이다. 마이크로소프트에서 제공하는 모든 AI 구축 툴체인에서 AI 세이프티를 적용하게 된다. 생성 AI 개발도구인 'AI 스튜디오'는 테스트 단계에서 개발중인 항목의 안전성을 확인할 수 있는 '책임있는 AI 대시보드'를 제공한다. 프롬프트 플로우는 모델에서 생성되는 콘텐츠에 미디어 출처, 이미지 및 비디오 출처 등을 표시하도록 지정할 수 있다. 애플리케이션 빌드와 배포 시 사용가능한 생성 음성에 워터마크를 넣을 수 있다. 스콧 CTO는 "AI 세이프티는 코파일럿을 만들 때 가장 먼저 생각하고 프로세스의 모든 단계에서 생각해야 한다"며 "애저 AI 세이프티는 AI 앱을 안전하게 구축할 수 있는 놀라운 도구를 모두 제공한다"고 강조했다.