최근 LLM(대형 언어 모델)의 경이로움에 대해 많은 이야기가 나왔습니다. 이러한 찬사의 대부분은 가치가 있습니다. ChatGPT에 일반 상대성 이론을 설명해달라고 요청하면 매우 훌륭하고 정확한 답변을 얻을 수 있습니다. 그러나 결국 ChatGPT는 여전히 명령 세트를 맹목적으로 실행하는 컴퓨터 프로그램(다른 모든 LLM과 마찬가지로)입니다. 그것은 당신이 가장 좋아하는 애완동물만큼 일반 상대성 이론을 더 잘 이해하지 못합니다. 불행히도 우리는 엔지니어가 기술을 생성하는 데 사용하는 기술을 설명하기 위해 "기계 학습" 및 "훈련"과 같이 "인간과 유사한" 단어를 사용합니다. LLM에는 인간과 같은 마음이 없기 때문에 이것은 오해의 소지가 있습니다.
여기에는 아이러니가 있습니다. 생각이 없는 챗봇이 어떻게 지금까지 살았던 가장 똑똑한 사람의 발견을 올바르게 요약할 수 있습니까? LLM의 이러한 모순된 특성을 이해하기 위해 강점, 약점 및 위험 측면에서 더 자세히 살펴보고 데이터와 MinIO와 같은 스토리지 솔루션을 사용하여 첫 번째를 활용하고 다른 두 가지를 완화할 수 있는 방법을 살펴보겠습니다. 이는 모든 엔지니어가 조직을 위해 LLM을 교육, 테스트 및 배포할 때 염두에 두어야 할 기술입니다.
LLM의 강점은 LLM을 만드는 데 사용된 훈련 세트에서 단어의 확률 분포를 이해하도록 훈련되었다는 것입니다. 훈련 세트가 충분히 큰 경우(예: Wikipedia 기사 모음 또는 GitHub의 공개 코드), 모델은 어휘와 해당 확률 분포를 갖게 되어 마치 실제 세계에서 이해하고 있는 것처럼 결과가 나타나게 됩니다. 그들이 출력하는 텍스트. 이번에는 철학의 또 다른 예를 더 자세히 살펴보겠습니다. ChatGPT에 "'cogito, ergo sum'은 무엇을 의미하며 누가 썼나요?"라는 질문을 해보세요. 그러면 아래 텍스트와 비슷한 내용이 표시됩니다.
"Cogito, ergo sum"은 영어로 "나는 생각한다, 고로 존재한다"로 번역되는 라틴어 철학 명제입니다. 이 진술은 프랑스의 철학자, 수학자, 과학자인 르네 데카르트(René Descartes)와 관련이 있는 것으로 유명합니다. 데카르트는 1637년에 출판된 그의 작품 "방법에 관한 담론"에서 이 아이디어를 표현했습니다. 이 문구는 의심할 수 없는 근본적인 진리, 즉 생각하는 존재로서 자신의 존재에 대한 확실성을 확립하려는 데카르트의 시도를 반영합니다.
LLM은 확률 분포를 사용하여 이와 같은 결과를 생성합니다. 이것은 다음과 같이 작동합니다. 그들은 질문의 텍스트를 보고 "Cogito"라는 단어가 대답의 첫 번째 단어가 될 확률이 가장 높다고 결정합니다. 거기에서 그들은 질문과 대답의 첫 번째 단어를 보고 다음으로 나올 확률이 가장 높은 단어를 결정합니다. 이는 특별한 "답변 끝" 문자가 가장 높은 확률로 결정될 때까지 계속됩니다.
수십억 개의 확률을 기반으로 자연어 응답을 생성하는 이러한 능력은 두려워할 것이 아니라 오히려 비즈니스 가치를 위해 활용되어야 하는 것입니다. 최신 기술을 사용하면 결과가 더욱 좋아집니다. 예를 들어 RAG(검색 증강 생성) 및 미세 조정과 같은 기술을 사용하여 LLM에게 특정 비즈니스에 대해 가르칠 수 있습니다. 이러한 인간과 유사한 결과를 얻으려면 데이터가 필요하며 인프라에는 강력한 데이터 스토리지 솔루션이 필요합니다.
이러한 다음 토큰 예측 기능을 사용하면 챗봇이나 마케팅 카피를 위한 훌륭한 텍스트를 생성할 수 있을 뿐만 아니라 애플리케이션 내에서 자동화된 의사 결정을 내리는 데에도 사용할 수 있습니다. 문제 설명과 호출할 수 있는 API("함수")에 대한 정보를 포함하는 교묘하게 구성된 프롬프트가 주어지면 LLM의 언어 이해를 통해 어떤 "함수"를 호출해야 하는지 설명하는 답변을 생성할 수 있습니다. 예를 들어, 대화형 날씨 앱에서 사용자는 "오늘 밤 펜웨이 파크에 가는데 비옷이 필요한가요?"라고 질문할 수 있습니다. 영리한 프롬프트를 통해 LLM은 쿼리(매사추세츠주 보스톤)에서 위치 데이터를 추출하고 Weather.com Precipitation API에 대한 요청이 어떻게 공식화될 수 있는지 결정할 수 있습니다.
오랫동안 소프트웨어 구축에 있어 가장 어려운 부분은 자연어와 API 호출과 같은 구문 시스템 간의 인터페이스였습니다. 아이러니하게도 그것은 가장 간단한 부분 중 하나일 수 있습니다. 텍스트 생성과 유사하게 LLM 함수 호출 동작의 품질과 신뢰성은 RLHF(사람 피드백을 통한 미세 조정 및 강화 학습)를 사용하여 도움을 받을 수 있습니다.
이제 LLM이 무엇을 잘하고 왜 잘하는지 이해했으므로 LLM이 할 수 없는 것이 무엇인지 조사해 보겠습니다.
LLM은 생각하거나 이해하거나 추론할 수 없습니다. 이것이 LLM의 근본적인 한계입니다. 언어 모델에는 사용자의 질문을 추론하는 능력이 부족합니다. 이는 사용자의 질문에 대해 정말 좋은 추측을 만들어내는 확률 기계입니다. 아무리 좋은 추측이라도 그것은 여전히 추측일 뿐이며, 이러한 추측을 만들어내는 것은 결국 사실이 아닌 결과를 낳게 됩니다. 생성 AI에서는 이를 '환각'이라고 합니다.
올바르게 훈련하면 환각을 최소한으로 유지할 수 있습니다. 미세 조정과 RAG도 환각을 크게 줄였습니다. 결론 - 모델을 올바르게 훈련하고 미세 조정하고 관련 컨텍스트(RAG)를 제공하려면 데이터와 이를 대규모로 저장하고 효율적인 방식으로 제공할 수 있는 인프라가 필요합니다.
LLM의 한 가지 측면을 더 살펴보겠습니다. LLM은 테스트 능력에 영향을 미치므로 위험으로 분류하겠습니다.
LLM의 가장 널리 사용되는 용도는 Generative AI입니다. 제너레이티브 AI는 알려진 결과와 비교할 수 있는 구체적인 답변을 생성하지 않습니다. 이는 쉽게 테스트할 수 있는 특정 예측을 수행하는 다른 AI 사용 사례와 대조됩니다. 이미지 감지, 분류 및 회귀를 위한 모델을 테스트하는 것은 간단합니다. 하지만 공정하고 사실에 충실하며 확장 가능한 방식으로 생성 AI에 사용되는 LLM을 어떻게 테스트합니까? 자신이 전문가가 아닌 경우 LLM이 생성하는 복잡한 답변이 정확하다고 어떻게 확신할 수 있습니까? 전문가이더라도 인간 검토자는 CI/CD 파이프라인에서 발생하는 자동화된 테스트에 참여할 수 없습니다.
업계에는 도움이 될 수 있는 몇 가지 벤치마크가 있습니다. GLUE(General Language Understanding Evaluation)는 LLM의 성과를 평가하고 측정하는 데 사용됩니다. 이는 인간 언어를 처리하는 모델의 능력을 평가하는 일련의 작업으로 구성됩니다. SuperGLUE는 더욱 까다로운 언어 작업을 도입하는 GLUE 벤치마크의 확장입니다. 이러한 작업에는 상호 참조 해결, 질문 답변 및 보다 복잡한 언어 현상이 포함됩니다.
위의 벤치마크가 도움이 되지만 솔루션의 큰 부분은 자체 데이터 수집이어야 합니다. 모든 질문과 답변을 기록하고 사용자 지정 결과를 기반으로 자체 테스트를 만드는 것을 고려해보세요. 이를 위해서는 확장성과 성능을 갖추도록 구축된 데이터 인프라도 필요합니다.
거기 있어요. LLM의 강점, 약점 및 위험. 첫 번째를 활용하고 나머지 두 가지를 완화하려면 많은 양을 처리할 수 있는 데이터와 스토리지 솔루션이 필요합니다.