제너레이티브 AI는 기업이 경계 내에 갇힌 데이터를 잠금 해제하기 위해 사용할 수 있는 최신 기술을 나타냅니다. Generative AI로 가능한 것을 개념화하는 가장 쉬운 방법은 방화벽 내부에서 실행되는 ChatGPT를 지원하는 모델과 유사한 맞춤형 대형 언어 모델을 상상하는 것입니다. 이제 이 사용자 정의 LLM은 OpenAI가 공용 인터넷에서 호스팅하는 것과 동일하지 않습니다. 대신 귀하의 비즈니스에 대한 "고급 교육"을 취득했습니다. 이는 외부 세계가 접근할 수 없는 문서 모음에 대한 접근 권한을 부여함으로써 수행됩니다. 그러나 이 새로운 도구는 검토하고 추가 필터링하는 데 몇 시간이 걸리는 링크 목록을 제공하는 기존 검색 엔진이 아닙니다. 오히려 필요한 콘텐츠를 생성할 수 있는 솔루션입니다. 시간이 지남에 따라 명령을 내리고 질문을 하게 될 것입니다. 다음은 가능한 것에 대한 느낌을 제공하는 몇 가지 예입니다.
"유럽 주식 시장에 대한 최근 조사 결과를 찾아보세요."
“제너레이티브 AI에 관한 강연을 위한 초록을 만들어 보세요.”
“이번 분기에 우리가 발표한 모든 내용을 찾아보세요.”
위의 예는 연구 시나리오이지만, 잘 구성된 LLM(대형 언어 모델)은 고객 지원(챗봇), 요약, 연구, 번역, 문서 생성 등에도 사용할 수 있습니다.
이러한 간단한 예는 Generative AI의 강력한 기능을 강조합니다. 이는 읽기 목록을 생성하는 대신 작업을 보다 효율적으로 수행하기 위한 도구입니다.
그러한 도구는 존재할 수 없으며 보안 및 데이터 품질과 같은 문제를 고려하지 않으면 상황이 매우 잘못될 수 있습니다. 또한 생성 AI를 지원하는 모델은 기존 데이터 센터 내에서 실행할 수 없습니다. 비정형 데이터(데이터 레이크) 관리를 위한 최신 도구, LLM용 AI/ML 파이프라인 생성(MLOP 도구), LLM이 사용자 정의 코퍼스에 관해 필요한 교육을 받을 수 있는 새로운 도구를 갖춘 현대적인 환경이 필요합니다. (저는 검색 증강 생성을 구현하기 위한 벡터 데이터베이스에 대해 이야기하고 있습니다. 이 게시물의 뒷부분에서 더 자세히 설명하겠습니다).
이 게시물에서는 기업이 Generative AI를 성공적으로 구현하기 위해 고려해야 할 사항을 개념적 수준에서 다루고 싶습니다.
데이터에 관한 대화부터 시작하겠습니다.
중요한 차이점은 생성 AI에 필요한 데이터가 기존 AI에 사용되는 데이터와 동일하지 않다는 것입니다. 데이터는 구조화되지 않습니다. 특히 필요한 데이터는 SharePoint, Confluence 및 네트워크 파일 공유와 같은 도구에 잠겨 있는 문서입니다. 좋은 Generative AI 솔루션은 오디오 및 비디오 파일과 같은 비텍스트 콘텐츠도 처리할 수 있습니다. 이 모든 데이터를 수집하여 한 지붕 아래에 배치하는 데이터 파이프라인이 필요합니다.
이는 Generative AI 이니셔티브에서 가장 어려운 작업일 수 있습니다. 우리 모두는 조직 내에서 Confluence 사이트와 Sharepoint 사이트가 얼마나 빨리 생성되는지 알고 있습니다. 여기에 포함된 문서가 완전하고 사실이며 정확하다는 보장은 없습니다. 다른 우려 사항으로는 보안, 개인 식별 정보, 문서가 외부 소스에서 제공된 경우 라이선스 조건 등이 있습니다.
진정한 정보가 담긴 문서를 식별한 후에는 이를 보관할 장소가 필요합니다. 안타깝게도 원래 위치에 머물 수는 없습니다. SharePoint, Confluence 및 네트워크 파일 공유는 교육 및 추론을 위해 문서를 신속하게 제공하도록 설계되지 않은 도구입니다. 이것이 MinIO가 작동하는 곳입니다. 필요에 따라 확장 , 규모에 따른 성능 , 신뢰성 , 내결함성 및 클라우드 네이티브 인터페이스 등 익숙한 모든 기능을 갖춘 스토리지 솔루션에 문서를 저장하고 싶을 것입니다. 결론은 여러 소스에서 원시 데이터를 집계한 다음 LLM에서 사용할 수 있도록 변환하는 데이터 파이프라인을 구축해야 한다는 것입니다. 아래 다이어그램은 조직 내에 존재할 수 있는 다양한 소스와 수행되어야 하는 높은 수준의 점검을 보여줍니다.
원시 데이터를 고품질 데이터로 변환하는 데 필요한 보안 및 품질 검사를 자세히 살펴보며 데이터 파이프라인을 자세히 살펴보겠습니다.
조직은 모든 문서 소스의 목록을 작성하는 것부터 시작해야 합니다. 각 문서 소스에 대해 발견된 모든 문서를 목록화해야 합니다. 라이센스 및 보안과 관련된 문서를 검토해야 합니다. 일부 문서를 솔루션에서 제외해야 할 수도 있습니다. 이 프로세스의 중요한 부분은 생성 AI 솔루션에 포함되기 전에 수정해야 하는 제한된 데이터를 식별하는 것입니다.
보안 및 라이센스에 대한 문서를 검토한 후에는 품질 검사가 이루어집니다. 예를 들어 진실성, 다양성(사람에 관한 것이라면), 중복성 등이 있습니다. 고품질 데이터 없이는 정확한 모델을 만들 수 없습니다. 이는 기존 AI(지도 학습, 비지도 학습, 강화 학습)에 해당되며, 생성 AI에서는 특히 그렇습니다. 품질이 낮은 문서, 중복 문서, 부정확한 데이터가 포함된 문서는 LLM의 응답을 희석시키거나 심지어 환각을 일으킬 수도 있습니다.
보다 자세한 파이프라인의 시각화는 다음과 같습니다.
스토리지 솔루션의 중요성에 대한 몇 가지 생각: 고품질 문서는 교육, 미세 조정 및 추론을 위해 데이터를 신속하게 제공할 수 있는 스토리지 솔루션에 있어야 합니다. 엔지니어가 더 많은 실험을 실행할수록 모델의 결과는 더 좋아질 것입니다. 또한 실험을 추적하고, 처리된 데이터를 저장하고, 모델에 버전을 지정하고 싶을 것입니다. 이 정보를 MinIO에 직접 저장하거나 선택한 MLOP 도구를 사용하여 수동으로 수행할 수 있습니다. 많은 MLOP 도구는 내부적으로 객체 스토리지를 사용합니다. 예를 들어 DataBricks의 MLFlow와 Google의 KubeFlow는 모두 MinIO를 사용합니다. 또한 위 다이어그램에 묘사된 MinIO의 인스턴스는 최신 데이터 레이크 구현에서 나와야 합니다. 현대적인 데이터 레이크는 AI를 지원할 수 있는 시스템 아키텍처의 중심입니다.
계속해서 LLM이 고품질 문서가 포함된 객체 저장소를 어떻게 사용할 수 있는지 논의해 보겠습니다.
이 섹션에서는 오픈 소스 LLM과 고품질 문서를 사용하여 도메인별 콘텐츠를 생성하는 두 가지 방법을 살펴보겠습니다. 이 두 가지 기술은 미세 조정 및 검색 증강 생성(RAG)입니다.
모델을 미세 조정할 때 사용자 정의 정보를 사용하여 좀 더 훈련시킵니다. 이는 도메인별 LLM을 얻는 좋은 방법이 될 수 있습니다. 이 옵션을 사용하려면 사용자 정의 코퍼스에 대한 미세 조정을 수행하기 위해 컴퓨팅이 필요하지만 처음부터 모델을 훈련하는 것만큼 집약적이지는 않으며 적당한 시간 내에 완료할 수 있습니다.
도메인에 일상적으로 사용되지 않는 용어가 포함되어 있는 경우 미세 조정을 통해 LLM 응답 품질이 향상됩니다. 예를 들어, 의학 연구, 환경 연구 및 자연 과학과 관련된 모든 문서를 사용하는 프로젝트는 미세 조정의 이점을 누릴 수 있습니다. 미세 조정은 문서에서 발견된 매우 구체적인 언어를 가져와 모델의 파라메트릭 매개변수에 적용합니다.
단점
미세 조정에는 컴퓨팅 리소스가 필요합니다.
설명이 불가능합니다.
코퍼스가 발전함에 따라 정기적으로 새로운 데이터로 미세 조정해야 합니다.
환각이 걱정됩니다.
장점
LLM은 미세 조정을 통해 사용자 정의 코퍼스로부터 지식을 얻습니다.
RAG에 비해 가치 창출 시간이 더 빠릅니다.
미세 조정은 비즈니스 언어에 대해 LLM을 가르치는 좋은 방법이지만 대부분의 LLM에는 수십억 개의 매개 변수가 포함되어 있고 데이터가 이러한 모든 매개 변수에 분산되므로 데이터가 희석됩니다.
추론 시 사용자 정의 데이터와 파라메트릭 데이터를 결합하는 기술을 살펴보겠습니다.
검색 증강 생성(RAG)은 질문에서 시작하여 추가 데이터와 결합한 다음 질문과 데이터를 LLM 및 콘텐츠 생성을 위한 벡터 데이터베이스에 전달하는 기술입니다. RAG를 사용하면 품질 문서 모음에서 관련 텍스트 조각을 보내 LLM을 교육하므로 교육이 필요하지 않습니다.
질문 답변 작업을 사용하면 다음과 같이 작동합니다. 사용자가 애플리케이션의 사용자 인터페이스에서 질문을 합니다. 귀하의 응용 프로그램은 질문, 특히 질문에 포함된 단어를 선택하고 벡터 데이터베이스를 사용하여 고품질 문서 모음에서 상황에 맞는 텍스트 조각을 검색합니다. 이 스니펫은 원래 질문과 함께 LLM으로 전송됩니다. 이 전체 패키지 - 질문과 스니펫(컨텍스트)을 프롬프트라고 합니다. LLM은 이 정보를 사용하여 답변을 생성합니다. 이는 어리석은 일처럼 보일 수 있습니다. 이미 답(스니펫)을 알고 있다면 왜 LLM을 이용해야 할까요? 글쎄요, 기억하세요. 이것은 실시간으로 발생하며 목표는 생성된 텍스트입니다. 텍스트를 복사하여 연구에 붙여넣을 수 있습니다. 사용자 정의 코퍼스의 정보를 통합하는 텍스트를 생성하려면 LLM이 필요합니다.
이는 미세 조정보다 더 복잡합니다. 벡터 데이터베이스에 대해 들어보셨을 것입니다. 벡터 데이터베이스는 질문에 대한 최상의 컨텍스트를 찾을 때 핵심 구성 요소입니다. 벡터 데이터베이스를 설정하는 것은 까다로울 수 있습니다. 간단한 임시 솔루션이 필요한 경우 Elastic Search와 같은 텍스트 검색 도구를 사용할 수 있습니다. 그러나 벡터 데이터베이스는 단어의 의미론적 의미를 학습하고 동일하거나 유사한 의미를 가진 다른 단어를 사용하는 컨텍스트를 가져올 수 있기 때문에 더 좋습니다.
단점
벡터 데이터베이스가 필요합니다.
미세 조정에 비해 가치 실현 시간이 더 깁니다. (LLM에 요청을 보내기 전에 벡터 데이터베이스와 사전 처리가 필요하기 때문입니다.)
장점
생성적 AI의 성공적인 구현은 적절하게 계획하려는 기업이 달성할 수 있는 범위 내에 있습니다.
AI와 마찬가지로 생성 AI도 데이터에서 시작됩니다. 생성 AI를 지원하는 대규모 언어 모델에 필요한 데이터는 방화벽 내의 고유한 지식을 정의하는 맞춤형 코퍼스입니다. 텍스트 기반 문서에만 국한되지 마십시오. 오디오 및 비디오 형식의 교육 비디오, 녹화된 회의, 녹화된 이벤트를 사용할 수 있습니다. 데이터 파이프라인을 구축하는 것은 쉽지 않습니다. 보안과 라이선스를 유지하는 동시에 품질을 보장하기 위해 주의를 기울여야 합니다.
오픈 소스 모델은 모델 설계의 복잡성을 없애고 대부분이 사전 훈련되어 있으므로 초기 훈련에 드는 높은 비용도 제거합니다. 조직에서는 생성된 콘텐츠의 품질이 향상되는지 확인하기 위해 미세 조정을 실험해야 합니다.
마지막으로 검색 증강 생성(RAG)은 조직의 사용자 정의 문서 모음에 있는 지식과 LLM의 매개변수 지식을 결합하는 데 사용할 수 있는 강력한 기술입니다. 미세 조정과 달리 말뭉치의 정보는 모델의 매개변수 매개변수로 학습되지 않습니다. 오히려 관련 조각은 추론 시점에 위치하며 컨텍스트로 모델에 전달됩니다.
생성적 AI는 새로운 기술이며 새로운 기술에는 인프라 업데이트가 필요합니다. 생성 AI에 대해 진지하게 생각하는 조직의 경우 다음 단계는 AI/ML 파이프라인, 데이터 파이프라인, 최신 데이터 레이크 및 벡터 데이터베이스(RAG를 활용할 경우)를 포함하는 시스템 아키텍처를 만드는 것입니다. 이 게시물에서는 이러한 기술을 높은 수준에서 다루었습니다.
Generative AI 시스템 아키텍처에 대한 자세한 설명을 보려면 이 블로그를 계속 지켜봐 주시기 바랍니다. 질문이 있는 경우 [email protected]로 핑을 보내거나 Slack 커뮤니티 에 가입하세요.
여기에도 나타납니다.