
ChatGPT 의 도입은 기업들이 새로운 애플리케이션 시나리오를 구상할 수 있는 중요한 계기를 만들었고, 이러한 기업들의 AI 도입을 가속화했습니다. 엔터프라이즈 영역의 일반적인 애플리케이션은 사용자가 챗봇과 대화하고 회사의 내부 지식 기반을 기반으로 질문에 대한 답변을 얻을 수 있도록 하는 것입니다. 그러나 ChatGPT나 기타 빅 언어 모델은 이러한 내부 데이터에 대해 학습되지 않았기 때문에 내부 지식 기반에 기반한 질문에 직접 답변할 수 없습니다. 직관적인 해결책은 내부 지식 베이스를 모델에 컨텍스트, 즉 프롬프트의 일부로 제공하는 것입니다. 그러나 대부분의 대규모 언어 모델은 토큰 그 한계는 수천 개에 불과하여 대부분의 조직에서 방대한 지식 기반을 수용하기에 충분하지 않습니다. 따라서 기성품의 대규모 언어 모델을 사용하는 것만으로는 이 문제를 해결할 수 없습니다. 그러나 다음 두 가지 인기 있는 접근 방식을 개별적으로 또는 조합하여 이 문제를 해결할 수 있습니다.
오픈 소스 빅 언어 모델 미세 조정하기
이 접근 방식에는 고객 말뭉치에서 Llama2와 같은 오픈 소스 대규모 언어 모델을 미세 조정하는 작업이 포함됩니다. 미세 조정된 모델은 고객의 도메인별 지식을 흡수하고 이해하여 추가 컨텍스트 없이도 관련 질문에 답할 수 있습니다. 그러나 많은 고객의 말뭉치에는 크기가 제한되어 있고 문법 오류가 포함되어 있는 경우가 많습니다. 이는 대규모 언어 모델을 미세 조정할 때 문제가 될 수 있습니다. 그러나 아래에서 설명하는 검색 강화 생성 기법에서 미세 조정된 대규모 언어 모델을 사용할 때 고무적인 결과가 관찰되었습니다.
향상된 세대 검색
이 문제를 해결하는 두 번째 방법은 증강된 세대를 검색하는 것입니다(RAG). 이 접근 방식은 먼저 데이터를 청크화한 다음 벡터 데이터베이스에 저장합니다. 질문에 답할 때 시스템은 쿼리를 기반으로 가장 관련성이 높은 데이터 청크를 검색하여 빅 언어 모델에 전달하여 답변을 생성합니다. 현재 인터넷에서는 빅 언어 모델, 벡터 스토리지, 오케스트레이션 프레임워크를 결합한 여러 오픈 소스 기술 솔루션이 인기를 끌고 있습니다. RAG 기술을 사용하는 솔루션의 도식은 아래와 같습니다.
그러나 위의 접근 방식을 사용하여 솔루션을 구축하는 데는 몇 가지 어려움이 있습니다. 솔루션의 성능은 텍스트 청크의 크기, 청크 간의 겹침 정도, 임베딩 기술 등 여러 가지 요인에 따라 달라지며, 이러한 각 요인에 대한 최적의 설정을 결정하는 것은 사용자의 몫입니다. 다음은 성능에 영향을 줄 수 있는 몇 가지 주요 요소입니다:
문서 청크 크기
앞서 언급했듯이 큰 언어 모델의 컨텍스트 길이는 제한되어 있으므로 문서를 더 작은 청크로 나눠야 합니다. 그러나 청크의 크기는 솔루션의 성능에 매우 중요합니다. 너무 작은 청크는 여러 구절에 걸쳐 정보를 분석해야 하는 질문에 답할 수 없으며, 너무 큰 청크는 컨텍스트 길이를 빠르게 차지하여 처리할 수 있는 청크 수가 줄어들게 됩니다. 또한 청크 크기와 임베딩 기술은 검색된 청크와 질문의 관련성을 결정합니다.
인접한 청크 간 겹침
청크는 정보가 딱딱하게 잘리지 않도록 적절한 중첩이 필요합니다. 이상적으로는 질문에 답하는 데 필요한 모든 컨텍스트가 적어도 하나의 청크에 전체적으로 포함되어 있어야 합니다. 그러나 너무 많이 겹치면 이 문제를 해결하는 과정에서 유사한 정보를 포함하는 청크가 여러 개 겹쳐서 검색 결과가 중복된 콘텐츠로 채워지는 새로운 문제가 발생할 수 있습니다.
임베디드 기술
임베딩 기술은 텍스트 청크를 벡터로 변환하여 이후 문서 검색기에 저장하는 알고리즘입니다. 청크와 질문을 임베드하는 데 사용되는 기술에 따라 검색된 청크와 질문의 관련성이 결정되며, 이는 다시 빅 언어 모델에 제공되는 콘텐츠의 품질에 영향을 미칩니다.
문서 찾기
문서 리트리버(벡터 저장소라고도 함)는 임베디드 벡터를 저장하고 빠르게 검색하기 위한 데이터베이스입니다. 검색기에서 가장 가까운 이웃을 일치시키는 데 사용되는 알고리즘(예: 도트 곱, 코사인 유사성)에 따라 검색된 청크의 관련성이 결정됩니다. 또한 문서 검색기는 대규모 지식 베이스를 지원하기 위해 수평적으로 확장할 수 있어야 합니다.
매크로 언어 모델
올바른 대규모 언어 모델을 선택하는 것은 솔루션의 핵심 구성 요소입니다. 최상의 모델을 선택하는 것은 데이터 세트 특성 및 위에서 언급한 기타 요인을 비롯한 여러 요인에 따라 달라집니다. 솔루션을 최적화하려면 다양한 빅 언어 모델을 사용해 보고 어떤 모델이 가장 좋은 결과를 제공하는지 결정하는 것이 좋습니다. 일부 조직은 이 접근 방식을 기꺼이 채택하지만, 다른 조직은 GPT4, Palm 또는 Claude Abacus.AI는 GPT3.5, GPT4, Palm, Azure OpenAI, Claude, Llama2 및 Abacus.AI의 독점 모델을 포함한 다양한 대규모 언어 모델 옵션을 제공합니다. 또한 Abacus.AI는 사용자 데이터에 대한 대규모 언어 모델을 미세 조정하여 검색 강화 생성 기술에 사용할 수 있으므로 두 가지를 모두 활용할 수 있습니다.
청크 수
일부 질문은 문서의 다른 부분 또는 여러 문서에 걸쳐 정보를 필요로 합니다. 예를 들어 "야생 동물이 나오는 영화 나열하기"와 같은 질문에 답하려면 여러 영화의 클립 또는 청크가 필요합니다. 때로는 가장 관련성이 높은 청크가 벡터 검색의 상단에 나타나지 않을 수도 있습니다. 이러한 경우 평가 및 응답 생성을 위해 대규모 언어 모델에 여러 개의 데이터 청크를 제공하는 것이 중요합니다.
이러한 각 매개변수를 조정하려면 상당한 사용자 노력이 필요하고 지루한 수동 평가 프로세스가 수반됩니다.
Abacus.AI 솔루션
이 문제를 해결하기 위해 Abacus.AI는 사용자에게 AutoML 기능을 제공하는 혁신적인 접근 방식을 채택했습니다. 이 접근 방식은 특정 사용 사례에 가장 적합한 조합을 찾기 위해 대규모 언어 모델을 미세 조정하는 등 다양한 매개변수 조합을 자동으로 반복합니다. 사용자가 제공한 문서 외에도 일련의 질문과 이에 해당하는 수동으로 작성된 표준 답변이 포함된 평가 데이터 세트가 필요하며, Abacus.AI는 최적의 구성을 결정하기 위해 다양한 매개변수 조합으로 생성된 답변을 비교하는 데 사용합니다.
Abacus.AI는 다음과 같은 평가 지표를 생성하며, 사용자는 선호하는 지표를 선택하여 어떤 조합이 가장 우수한지 확인할 수 있습니다.
BLEU 점수
BLEU(이중 언어 평가) 점수는 주로 기계 번역의 품질을 평가하는 데 사용되는 일반적으로 사용되는 자동 평가 지표입니다. 이는 인간 점수와 높은 상관관계를 보이는 번역 품질의 정량적 척도를 제공하는 것을 목표로 합니다.
BLEU 점수는 후보 번역(기계가 출력한 번역)을 하나 이상의 참조 번역(사람이 생성한 번역)과 비교하고 후보 번역과 참조 번역 간의 n-그램 중첩 정도를 계산하여 점수를 도출합니다. 구체적으로, 후보 번역의 n-그램(즉, n개의 단어 시퀀스)이 참조 번역의 n-그램과 얼마나 정확하게 일치하는지 평가합니다.
METEOR 점수
METEOR(명시적으로 정렬된 번역 평가 지표) 점수는 기계 번역의 품질을 평가하는 데 일반적으로 사용되는 또 다른 자동 평가 지표입니다. 특히 명시적 어순 일치를 도입하고 동의어와 운율을 고려함으로써 BLEU와 같은 다른 평가 지표의 일부 단점을 보완하도록 설계되었습니다.
BERT 점수
BERT 점수는 텍스트 생성의 품질을 평가하기 위해 고안된 자동화된 평가 지표입니다. 이 점수는 후보 문장과 참조 문장의 각 토큰 간의 유사도를 계산하여 도출됩니다. 정확한 매칭과 달리 이 지표는 문맥 임베딩을 사용하여 토큰 유사성을 결정합니다.
루즈 점수
ROUGE(요약 평가를 위한 회상 지향 대안) 점수는 자연어 처리 및 텍스트 요약에 일반적으로 사용되는 자동화된 평가 지표 세트입니다. 원래 이 메트릭은 텍스트 요약 시스템의 품질을 평가하기 위해 고안되었지만 현재는 기계 번역 및 텍스트 생성과 같은 다른 분야에서도 널리 사용되고 있습니다.
ROUGE 점수는 생성된 텍스트(예: 요약 또는 번역)를 하나 이상의 참조 텍스트(일반적으로 사람이 생성한 요약 또는 번역)와 비교하여 품질을 측정합니다. 주로 후보 텍스트와 참조 텍스트 간의 n-그램(즉, n개의 단어 시퀀스) 및 단어 시퀀스의 중복 정도를 측정합니다.
각 점수의 범위는 0에서 1까지이며, 점수가 높을수록 모델 성능이 우수하다는 것을 나타냅니다. Abacus.AI를 사용하면 여러 모델과 메트릭을 사용해 데이터와 특정 애플리케이션에 가장 적합한 모델을 빠르게 찾을 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...