편집자 노트: 본 게시물은 AI Decoded 시리즈의 일부로, AI에 대한 접근성을 높여 AI에 대한 이해를 돕고, RTX PC 사용자를 위한 새로운 하드웨어, 소프트웨어, 도구 및 가속 기술을 소개합니다.
거대 언어 모델(LLM)은 텍스트 기반의 콘텐츠를 빠르게 이해하고, 요약하며, 생성하는 능력을 바탕으로 AI 분야에서 몇 가지 가장 획기적인 발전을 이끌고 있습니다.
이러한 능력은 생산성 도구, 디지털 비서, 비디오 게임의 논플레이어블 캐릭터(NPC) 등을 비롯해 다양한 사용 사례에서 핵심적인 역할을 하고 있습니다. 하지만 이것이 만능 해결책은 아니고, 개발자들은 애플리케이션의 필요에 맞춰 LLM을 파인튜닝해야 합니다.
NVIDIA RTX AI 툴킷은 LoRA(Low-Rank Adaptation)라는 기술을 통해 AI 모델을 쉽게 미세 조정하고 RTX AI PC 및 워크스테이션에 배포할 수 있게 해줍니다. 오늘 바로 사용 가능한 새로운 업데이트를 적용할 경우, NVIDIA TensorRT-LLM AI 가속화 라이브러리 내에서 여러 개의 LoRA 어댑터를 동시에 사용하여 파인 튜닝된 모델의 성능을 최대 6배 향상할 수 있습니다.
성능을 위한 파인 튜닝
LLM을 맞춤화할 때는 성능을 향상하고 늘어나는 사용자 니즈를 충족할 수 있도록 신중하게 해야 합니다.
이러한 파운데이션 모델은 방대한 양의 데이터를 학습하지만 개발자의 특정 활용 사례에 필요한 맥락을 놓칠 때가 많습니다. 예를 들어, 일반적인 LLM은 비디오 게임 대화를 생성할 수 있지만, 어두운 과거를 갖고 있고 권력자에 대한 경멸을 거의 숨기지 못하는 숲속 요정의 스타일로 작성하는 데 필요한 뉘앙스와 섬세함이 없을 가능성이 매우 높습니다.
더욱 맞춤화된 결과를 얻기 위해 개발자들은 해당 앱의 사용 사례와 관련된 정보로 모델을 파인 튜닝할 수 있습니다.
예를 들어, LLM을 사용하여 게임 내 대화를 생성하는 앱을 개발하는 경우가 있습니다. 파인 튜닝 프로세스는 게임에서 캐릭터가 말할 수 있는 내용에 대한 정보 등 사전 훈련된 모델의 가중치를 사용하는 것부터 시작됩니다. 원하는 스타일의 대화를 만들기 위해, 개발자는 좀 더 무서운 톤이나 악당 같은 톤으로 쓰인 대화와 같이 더 작은 규모의 예시 데이터 세트로 모델을 조정할 수 있습니다.
어떤 경우에는 개발자가 이러한 여러 파인 튜닝 프로세스를 모두 동시에 실행하고 싶을 수 있습니다. 예를 들어, 다양한 콘텐츠 채널을 위해 여러 가지 톤으로 작성된 마케팅 문구를 생성하는 것이 필요할 수 있습니다. 그러면서 동시에 문서를 요약하고 스타일 관련 개선점을 제안할 뿐만 아니라, 비디오 게임 장면을 묘사하고 텍스트로 이미지를 생성하는 도구를 위한 이미지 설명을 작성해야 할 수 있습니다.
여러 모델을 동시에 실행할 경우 GPU 메모리가 이 모든 모델을 동시에 수용할 수 없기 때문에 이는 실용적이지 않습니다. 수용하더라도 데이터가 메모리에서 GPU로 전송되는 속도인 메모리 대역폭에 따라 추론 시간이 영향을 받게 됩니다.
놀라운 LoRA 효과를 보라
이러한 문제를 해결하는 데 많이 사용하는 방법은 LoRA(Low-Rank Adaptation)와 같은 미세 조정 기술을 적용하는 것입니다. 간단히 표현하자면 파인 튜닝 프로세스의 결과인 여러 맞춤화가 들어 있는 패치 파일과 같습니다.
학습을 완료하면 맞춤화된 LoRA 어댑터는 최소한의 오버헤드만 추가하면서 추론 단계에서 파운데이션 모델과 완벽히 통합될 수 있습니다. 개발자는 단일 모델에 여러 사용 사례를 위한 어댑터를 추가할 수 있습니다. 이렇게 하면 각 특정 용 사례에 필요한 세부 사항을 추가하면서도 메모리 사용량은 적게 유지할 수 있습니다.
즉, 실제로 이는 앱이 메모리에 기본 파운데이션 모델 하나만 보관하면서 여러 LoRA 어댑터를 사용하는 다양한 맞춤화 버전을 추가하면 된다는 의미입니다.
이런 프로세스를 멀티-LoRA 적용이라고 합니다. 모델에 다수의 요청이 들어오면 GPU는 Tensor 코어 사용을 극대화하고 메모리와 대역폭 수요는 최소화하면서 이 모든 요청을 병렬 처리하므로 개발자는 워크플로우에서 AI 모델을 효율적으로 사용할 수 있습니다. 여러 LoRA 어댑터를 사용하여 미세 조정한 모델은 성능이 최대 6배 향상됩니다.
앞서 예로 든 게임 내 대화 애플리케이션의 경우, 멀티-LoRA를 적용하여 한 번의 입력으로 이야기 요소와 일러스트 모두를 생성하도록 앱의 범위를 확장할 수 있습니다.
사용자가 기본적인 스토리 아이디어를 입력하면 LLM이 이 개념에 살을 붙여 자세한 파운데이션 모델을 제공하도록 아이디어를 확장합니다. 그런 다음 애플리케이션은 이 동일한 모델을 사용하면서 스토리를 다듬는 LoRA 어댑터와 해당되는 이미지를 생성하는 LoRA 어댑터를 이용해 모델을 향상합니다. 하나의 LoRA 어댑터는 로컬에서 실행되는 Stable Diffusion XL 모델로 시각적 이미지를 생성할 수 있도록 Stable Diffusion 프롬프트를 생성합니다. 한편, 스토리를 작성하도록 파인 튜닝된 다른 하나의 LoRA 어댑터는 탄탄한 구조의 흥미로운 이야기를 만들어낼 수 있습니다.
이 경우, 두 가지 추론 작업 모두에 동일한 모델이 사용되어 프로세스에 필요한 공간이 크게 늘어나지 않습니다. 텍스트와 이미지를 모두 생성하는 두 번째 단계는 일괄 추론을 사용하여 수행되기 때문에 NVIDIA GPU에서 프로세스의 속도와 효율성이 탁월합니다. 이 덕분에 사용자는 여러 버전의 스토리를 통해 빠르게 반복하면서 이야기와 일러스트를 쉽게 다듬을 수 있습니다.
이 프로세스는 최근 기술 블로그에 더 자세히 요약되어 있습니다.
LLM은 오늘날 AI 분야에서 가장 중요한 구성 요소 중 하나가 되어가고 있습니다. LLM을 채택하고 통합하는 사례가 늘어남에 따라 애플리케이션별 맞춤화가 가능하면서 강력하고 빠른 LLM에 대한 요구는 당연히 증가할 것입니다. 이번에 RTX AI 툴킷에 새로 추가된 멀티-LoRA 지원 덕분에 개발자들은 이러한 기능을 가속화할 수 있는 강력한 무기를 갖게 되었습니다.