코파일럿은 현대적인 AI를 사용하고 대화 인터페이스를 갖춘 응용 프로그램으로, 사용자의 작업을 돕는 것이 목표입니다. GitHub Copilot으로 시작하여 몇 년 동안 다양한 Copilot들을 구축하는 과정에서 우리가 알아차린 것은 Copilot들을 만드는 과정의 공통점을 찾아내어 사용자 경험을 설계하고, 안전하고 책임감 있게, 비용 효율적으로 접근할 수 있는 기술 스택을 고안해야 한다는 것입니다. 우리는 시간과 노력을 들여 Copilot기술 스택을 설계했고, 이것은 많은 Copilot제품을 사용자에게 빠르게 제공할 수 있었던 유일한 이유가 되었습니다.
- Era of Copilot, MS Build
# Copilot stack
# Copilot frontend
# Orchestration frameworks
프롬프트들을 관리하고, 사용자에게 보내기전에 대답을 한번 필터링을 잘 한번해주고, metapromt에서 프롬프트를 잘작성하는 부분이 있고, Grounding과 Plugin execution에서는 사용자들의 데이터들이나 다른 db(vectordb, database etc)와 연결한다던가, 아니면 또다른 문서와 연결한다던가 이런 내용들이 포함되어 있습니다. 이러한 orchestration frameworks를 통해서 완성된 프롬프트가 나오면, 그다음에 거대한 fondation model로 넘어가게 됩니다.
오케스트레이션은 Copilot의 핵심 로직입니다. Copilot을 개발한 모든 팀이 자체 오케스트레이션 계층을 구축했으며, 모델을 선택하고 연관성 있는 데이터를 선택함으로써 프롬프트를 증강하는 모든 과정을 공통적으로 수행했습니다. 우리가 한 일 중 하나는 Microsoft내부에서 앱을 개발하는 데 사용할 오케스트레이션 메커니즘을 하나로 통일하기로 결정한 것입니다. 그것은 Semantic Kernel이라는 이름으로 알려져있습니다.
또한, 오케스트레이션에서 공통성이 있다는 사실을 우리만 알았던 것은 아닙니다. LangChin의 Harrison에게 언급하고 싶습니다. LangChain은 가장 인기 있는 오픈소스 오케스트레이션 메커니즘 중에 하나입니다.
- Era of Copilot, MS Build
# Foundation models and fine-tuning
chatgpt같은 foundation model에 보내서 그 답을 얻어서 틀린게 있는지 검사를 하거나, 최종으로 가는 filtering을 거쳐서 사용자에게 제공이 되게 됩니다.
# RAG (Retrieval Augmented Generation)
1. 사용자의 Query가 들어오면 그 것과 연관된 프롬프트를 가져오게 되고,
2. Query에 대한 답을 주기 위해 유사한 연관성있는 데이터들(문서 or 데이터베이스)을 가져오게 됩니다.
3. 가져온 데이터를 가지고 프롬프트를 좀 더 길고 자세하게 context를 포함해서 작성하게 됩니다.
4. 유사한 데이터들을 가지고 프롬프트랑 쿼리랑 가져온 유사데이터와 합쳐서 거대 언어모델에 보내게 됩니다.
5. 거대 언어모델을 보고 답변을 생성하게 됩니다.
reference
https://arxiv.org/abs/2005.11401
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Large pre-trained language models have been shown to store factual knowledge in their parameters, and achieve state-of-the-art results when fine-tuned on downstream NLP tasks. However, their ability to access and precisely manipulate knowledge is still lim
arxiv.org
'LLM' 카테고리의 다른 글
다양한 프롬프트 엔지니어링(Prompt Engineering)에 대해 살펴보자(1) : Zero shot, One shot, Few shot, CoT (2) | 2024.05.31 |
---|---|
초간단 openai의 chatGPT API 발급받아보기~~!! (0) | 2023.11.03 |