대규모 언어 모델(LLM)은 인간의 언어 텍스트를 이해하고 생성할 수 있는 머신 러닝 모델입니다. LLM은 방대한 언어 데이터 세트를 분석하여 작업합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
대규모 언어 모델(LLM)은 텍스트를 인식하고 생성하는 등의 작업을 수행할 수 있는 일종의 인공 지능(AI) 프로그램입니다. LLM은 방대한 데이터 세트를 학습하므로 "대규모"라는 이름이 붙었습니다. LLM은 머신 러닝, 특히 트랜스포머 모델이라고 하는 일종의 신경망을 기반으로 합니다.
간단히 말해, LLM은 인간의 언어나 기타 복잡한 데이터를 인식하고 해석할 수 있을 만큼 충분한 예제를 제공받은 컴퓨터 프로그램입니다. 많은 LLM은 인터넷에서 수집된 수천 또는 수백만 기가바이트에 달하는 텍스트로 학습됩니다. 하지만 샘플의 품질이 LLM이 자연어를 얼마나 잘 학습할 수 있는지에 영향을 미치므로, LLM의 프로그래머는 보다 엄선된 데이터 세트를 사용할 수 있습니다.
LLM은 문자, 단어, 문장이 함께 작동하는 방식을 이해하기 위해 딥러닝이라는 일종의 머신 러닝을 사용합니다. 딥러닝은 비정형 데이터의 확률적 분석을 포함하며, 결국 딥러닝 모델은 사람의 개입 없이도 콘텐츠 간의 구분을 인식할 수 있습니다.
그런 다음 튜닝을 통해 추가 학습이 이루어집니다. 질문을 해석하고 답변을 생성하거나 한 언어에서 다른 언어로 텍스트를 번역하는 등 프로그래머가 원하는 특정 작업에 맞게 미세 조정되거나 프롬프트 조정됩니다.
LLM은 다양한 작업을 수행하도록 학습될 수 있습니다. 가장 잘 알려진 사용 사례 중 하나는 프롬프트가 주어지거나 질문을 받으면 응답으로 텍스트를 생성할 수 있는 생성형 AI로서의 응용입니다. 예를 들어, 공개적으로 사용 가능한 LLM ChatGPT는 사용자 입력에 대한 응답으로 에세이, 시, 기타 텍스트 형식의 글을 생성할 수 있습니다.
프로그래밍 언어를 포함한 모든 크고 복잡한 데이터 집합을 LLM 학습에 사용할 수 있습니다. 일부 LLM은 프로그래머가 코드를 작성하는 데 도움이 될 수 있습니다. 이들은 요청에 따라 함수를 작성하거나 시작점으로 일부 코드가 주어지면 프로그램 작성을 완료할 수 있습니다. LLM은 다음 용도에도 사용할 수 있습니다.
실제 LLM의 예로는 ChatGPT(OpenAI 제공), Bard(Google), Llama(Meta), Bing Chat(Microsoft) 등이 있습니다. GitHub의 Copilot도 또 다른 예이지만, 자연스러운 인간 언어가 아닌 코딩을 위한 것입니다.
LLM의 주요 특징은 예측할 수 없는 쿼리에 대응할 수 있다는 점입니다. 기존의 컴퓨터 프로그램은 허용된 구문으로 명령을 받거나 사용자의 특정 입력 집합으로부터 명령을 받습니다. 비디오 게임에는 한정된 버튼이 있고, 애플리케이션에는 사용자가 클릭하거나 입력할 수 있는 항목이 한정되어 있으며, 프로그래밍 언어는 정확한 if/then 문으로 구성되어 있습니다.
반면, LLM은 자연스러운 인간 언어에 응답하고 데이터 분석을 사용하여 구조화되지 않은 질문이나 프롬프트에 적절한 방식으로 답변할 수 있습니다. 일반적인 컴퓨터 프로그램이라면 "역사상 가장 위대한 펑크 밴드 네 팀은 어느 팀인가요?"와 같은 프롬프트를 인식하지 못하지만, LLM은 그러한 밴드 네 팀의 목록과 그 밴드들이 왜 최고인지에 대한 합리적이고 설득력 있는 논리로 응답할 수 있습니다.
하지만 LLM은 수집하는 데이터만큼만 신뢰할 수 있는 정보를 제공할 수 있습니다. 잘못된 정보가 입력되면 사용자 쿼리에 대한 응답으로 잘못된 정보를 제공합니다. LLM은 때때로 "할루시네이션"을 내놓습니다. 정확한 답변을 내놓을 수 없을 때면 가짜 정보를 생성합니다. 예를 들어, 2022년 뉴스 매체 패스트 컴퍼니(Fast Company)에서 테슬라의 지난 회계 분기에 대해 ChatGPT에 질문했고, 이에 대해 ChatGPT는 일관된 뉴스 기사를 제공했지만, 그 안에 담긴 정보는 상당수가 자체적으로 만들어낸 것이었습니다.
보안 측면에서 볼 때, LLM 기반의 사용자 대면 애플리케이션은 다른 애플리케이션과 마찬가지로 버그가 발생하기 쉽습니다. 또한 악의적인 입력을 통해 LLM을 조작하여 위험하거나 비윤리적인 응답 등 특정 유형의 응답을 다른 응답보다 우선적으로 제공하도록 할 수도 있습니다. 마지막으로, LLM의 보안 문제 중 하나는 사용자가 자신의 생산성을 높이기 위해 안전한 기밀 데이터를 LLM에 업로드할 수 있다는 점입니다. 그러나 LLM은 수신한 입력을 사용하여 모델을 추가로 학습시키며, 보안 금고로 설계되지 않았으므로 다른 사용자의 쿼리에 대한 응답으로 기밀 데이터가 노출될 수 있습니다.
기본적인 수준에서 LLM은 머신 러닝을 기반으로 합니다. 머신 러닝은 AI의 하위 집합으로, 사람의 개입 없이 데이터의 특징을 식별하는 방법을 프로그램에 학습시키기 위해 대량의 데이터를 프로그램에 공급하는 방식을 말합니다.
LLM은 딥러닝이라는 일종의 머신 러닝을 사용합니다. 딥러닝 모델은 기본적으로 사람의 개입 없이도 구분을 인식하도록 스스로 학습할 수 있지만, 일반적으로 약간의 미세 조정이 필요합니다.
딥러닝은 "학습"을 위해 확률을 사용합니다. 예를 들어, "The quick brown fox jumped over the lazy dog"라는 문장에서 "e" 및 "o" 문자가 가장 흔하며, 각각 네 번씩 나타납니다. 이를 통해 딥러닝 모델은 이들 문자가 영어 텍스트에 나타날 가능성이 가장 높다고 (올바르게) 결론을 내릴 수 있습니다.
현실적으로, 딥러닝 모델은 실제로 한 문장으로는 어떤 결론을 내릴 수 없습니다. 하지만 수조 개의 문장을 분석한 후에는 불완전한 문장을 논리적으로 완성하는 방법을 예측하거나 스스로 문장을 생성할 수 있을 정도로 학습할 수 있게 됩니다.
이러한 유형의 딥러닝을 가능하게 하기 위해 LLM은 신경망을 기반으로 구축됩니다. 인간의 뇌가 서로 연결되고 신호를 보내는 뉴런으로 구성되어 있는 것처럼 인공 신경망(일반적으로 "신경망" 으로 줄임)은 서로 연결되는 네트워크 노드로 구성되어 있습니다. 네트워크 노드 는 입력 레이어, 출력 레이어, 그 사이에 있는 하나 이상의 레이어 등 여러 개의 "레이어"로 구성됩니다. 레이어는 자체 출력이 특정 임계값을 초과하는 경우에만 서로 정보를 전달합니다.
LLM에 사용되는 특정 종류의 신경망을 트랜스포머 모델이라고 합니다. 트랜스포머 모델은 문맥을 학습할 수 있으며, 이는 문맥에 따라 크게 달라지는 인간의 언어에 특히 중요합니다. 트랜스포머 모델은 셀프 어텐션이라는 수학적 기법을 사용하여 시퀀스의 요소들이 서로 연관되는 미묘한 방식을 감지합니다. 트랜스포머 모델은 따라서 다른 유형의 머신 러닝보다 컨텍스트를 더 잘 이해할 수 있습니다. 예를 들어 문장의 끝과 시작이 어떻게 연결되는지, 단락의 문장이 서로 어떻게 연관되어 있는지 등을 이해할 수 있습니다.
이를 통해 LLM은 모호하거나 제대로 정의되지 않은 언어, 이전에 접해보지 못한 조합으로 배열된 언어, 새로운 방식으로 문맥화된 언어 등 인간의 언어를 해석할 수 있습니다. 어느 정도 수준에서는 단어와 개념을 수백만 번 또는 수십억 번 그룹화하여 그 의미에 따라 연관시킬 수 있다는 점에서 의미론을 "이해"합니다.
LLM 앱을 구축하려면 개발자는 여러 데이터 세트에 쉽게 액세스할 수 있어야 하며, 이러한 데이터 세트가 저장될 장소가 필요합니다. 이러한 목적을 위한 클라우드 스토리지와 온프레미스 스토리지 모두 개발자의 예산 범위를 벗어나는 인프라 투자가 수반될 수 있습니다. 또한 학습 데이터 세트는 일반적으로 여러 곳에 저장되지만, 데이터를 중앙 위치로 이동하려면 막대한 송신 수수료가 발생할 수 있습니다.
다행히 Cloudflare에서는 개발자가 LLM 애플리케이션 및 기타 유형의 AI를 빠르게 시작할 수 있도록 여러 서비스를 제공합니다. Vectorize는 전 세계적으로 분산된 벡터 데이터베이스로, 송신료 없는 개체 스토리지(R2)에 저장된 데이터나 Workers 키 값에 저장된 문서를 쿼리할 수 있습니다. 개발자는 개발 플랫폼인 Cloudflare Workers AI와 결합하여 Cloudflare를 사용해서 자체 LLM으로 신속하게 실험을 시작할 수 있습니다.