Low-rank adaptation(LoRA)이란?

Low-rank adaptation(LoRA)은 전체 모델을 재훈련하지 않고 특정 용도에 맞게 대규모 머신 러닝 모델을 조정하는 방법입니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • "low-rank adaptation"(LoRA)의 정의
  • LoRA의 작동 원리 쉽게 설명하기
  • LoRA 사용의 이점 이해하기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

Low-rank adaptation(LoRA)이란?

Low-rank adaptation(LoRA)은 머신 러닝 모델을 새로운 컨텍스트에 적합하도록 빠르게 조정하는 기술입니다. LoRA는 거대하고 복잡한 머신 러닝 모델을 특정 용도에 훨씬 더 적합하게 만드는 데 도움이 됩니다. 모델 전체를 변경하하는 대신 원래 모델에 간단한 요소를 추가하는 방식으로 작동합니다. LoRA는 개발자가 구축한 머신 러닝 모델의 사용 사례를 빠르게 확장할 수 있도록 지원합니다.

LoRA의 기능은?

ChatGPT와 같은 대규모 언어 모델(LLM)에 사용되는 것과 같은 크고 복잡한 머신 러닝 모델을 설정하려면 상당한 시간과 자원이 필요합니다. 이러한 모델에는 특정 값으로 설정된 수조 개의 매개 변수가 있을 수 있습니다. 이 프로세스가 완료되면 모델은 보통 성능이 뛰어나고 정확할 수 있지만, 특정 작업을 수행하기 위해 반드시 미세 조정될 필요는 없습니다.

특정 컨텍스트에서 모델을 작동하게 하려면 모든 매개 변수를 변경하는 것과 같이 많은 재훈련이 필요할 수 있습니다. 이러한 모델에는 매개 변수가 많기 때문에 이러한 재훈련 작업은 비용과 시간이 많이 소요됩니다. LoRA는 모델을 재학습하지 않고 빠르게 조정할 수 있는 방법을 제공합니다.

Jim이 유럽에서 북미로 이사했는데 두 지역의 전기 플러그 표준이 다르기 때문에 모든 가전제품(전자레인지, 커피포트 등)이 새 집의 콘센트와 호환되지 않는다고 가정해 보겠습니다. Jim에게는 두 가지 옵션이 있습니다. 집의 모든 콘센트를 뜯어내고 가전제품에 맞게 교체하여 플러그에 끼울 수 있습니다. 또는 저렴한 콘센트 어댑터 몇 개를 구입하여 가전제품에 연결할 수도 있습니다.

LoRA는 Jim에게 두 번째 옵션과도 같습니다. LoRA를 사용하면 모델을 처음부터 완전히 재학습하는 가볍고 수정 가능한 구성 요소를 추가하여 새로운 컨텍스트에 맞게 모델을 조정할 수 있습니다. AI 개발자에게 이 접근 방식은 훨씬 더 빠르고 리소스 집약도가 낮습니다. Jim이 철물점에서 어댑터 몇 개를 구매하는 것이 시공업체를 고용하여 전기 콘센트를 교체하는 것보다 훨씬 저렴했던 것처럼 말입니다.

리소스
설문조사에 따르면 애플리케이션이 최신화되면 AI ROI 가능성이 3배 더 높아집니다

Low-Rank Adaptation(LoRA)은 머신 러닝 모델에 어떤 영향을 미칠까요?

머신 러닝 모델은 머신 러닝 알고리즘과 데이터 세트의 조합입니다. 이 조합을 통해 이전에 접해보지 못한 데이터 세트에서도 패턴을 파악하고, 개체를 찾거나, 항목 간의 관계를 도출할 수 있는 컴퓨터 프로그램을 생성합니다.

텍스트 생성, 이미지 생성 또는 기타 최첨단 머신 러닝 앱 실행과 같은 복잡한 작업의 경우 모델은 방대한 데이터를 바탕으로 매우 복잡한 알고리즘을 활용합니다. 알고리즘이나 데이터 세트를 약간만 수정해도 모델이 다른 결과를 생성할 수 있습니다. 그러나 특정 컨텍스트에 필요한 종류의 결과를 얻으려면 많은 학습을 거쳐야 할 수 있습니다.

LoRA는 전체 모델을 다시 구축하는 대신 모델의 가중치* 와 매개 변수를 그대로 고정합니다. 그런 다음 원래의 모델 위에 저차원 행렬이라는 간단한 요소를 추가한 다음, 새로운 입력에 적용하여 컨텍스트에 맞는 결과를 얻습니다. 저차원 행렬은 원래 모델의 가중치를 조정하여 출력이 원하는사용 사례와 일치하도록 합니다.

*머신 러닝 모델에서 '가중치'는 다양한 유형의 입력의 중요성을 결정하는 데 도움이 되는 수학적 값입니다.

LoRA에서 저차원 행렬이란?

수학에서 행렬은 다음과 같은 숫자의 배열 또는 집합입니다.

저차원 행렬 예시: 첫 번째 열 2 4 6, 두 번째 열 4 8 12, 세 번째 열 6 12 18

행렬은 머신 러닝 모델과 신경망의 작동하는 방식에서 중요한 부분입니다. 이러한 용도로 사용할 경우 행렬은 예시의 규모보다 훨씬 클 수 있습니다. LoRA의 경우 이해해야 할 중요한 점은 저차원 행렬은 큰 행렬에 비해 크기가 작고 훨씬 적은 수의 값을 갖습니다. 메모리를 많이 차지하지 않으며 덧셈과 곱셈과 같은 연산에 필요한 계산 단계가 적습니다. 따라서 컴퓨터가 더 빠르게 처리할 수 있습니다.

LoRA는 고정된 원래 머신 러닝 모델에 저차원 행렬을 추가합니다. 이 행렬에는 결과를 생성할 때 모델에 적용할 수 있는 새로운 가중치가 포함되어 있습니다. 이 프로세스에서는 최소한의 컴퓨팅 성능과 훈련 시간으로 모델이 생성하는 출력이 변경됩니다.

앞서 사용한 비유에서 Jim은 가전제품을 벽에 연결하기 위해 저렴한 어댑터를 구입했습니다. 마찬가지로, 저차원 행렬은 저렴한 가격의 어댑터와 유사하며, 전원 콘센트는 원래의 머신 러닝 모델과도 같습니다.

머신 러닝은 어떻게 작동할까요?

머신 러닝은 사람의 명시적인 지시를 받지 않고도 데이터에서 패턴을 찾는 방법을 학습할 수 있는 일종의 통계 알고리즘을 지칭하는 용어입니다. 머신 러닝은 예시를 일반화하여 이전에 본 적이 없는 데이터를 분류할 수 있습니다. 머신 러닝은 많은 유형의 인공 지능(AI) 앱의 기반입니다.

Cloudflare는 개발자가 다음과 같은 서비스를 통해 인기 있는 머신 러닝 모델을 신속하게 통합할 수 있도록 지원합니다.

Cloudflare for AI 전체에 대해 자세히 알아보세요.

FAQ

Low-rank adaptation(LoRA)이란?

Low-rank adaptation(LoRA)은 머신 러닝 모델을 재학습시키지 않고 새로운 사용 사례에 빠르게 적응시키는 방법입니다. LoRA는 개발자가 특정 컨텍스트에 맞게 모델을 사용자 지정할 수 있습니다. LoRA는 원래 모델에 저순위 행렬이라는 가벼운 추가 요소를 덧붙여 작동합니다. 이 행렬은 유색 반투명 플라스틱 조각이 스포트라이트의 색상을 빠르게 바꾸는 것처럼 모델의 출력을 조정합니다.

LoRA에서 저차원 행렬이란?

Low-rank adaptation(LoRA)에서 저순위 행렬은 머신 러닝 모델에 추가된 작고 계산 효율적인 행렬(또는 숫자 배열)입니다. 이를 통해 모델의 출력 결과를 목표에 맞게 조정할 수 있습니다.

LoRA에서 경량 모델 수정이란?

경량 모델 수정은 기존 머신 러닝 모델에 작고 변경 가능한 구성 요소를 추가하는 것을 의미합니다. 이는 전체 모델을 재학습시키는 것에 비해 업데이트가 더 빠르고 훨씬 적은 컴퓨팅 리소스를 사용합니다.

머신 러닝의 적응성은 왜 중요하고, 그리고 LoRA는 어떤 도움이 될까요?

머신 러닝의 적응성은 새로운 작업에 맞춰 모델을 빠르고 비용 효율적으로 업데이트하는 데 중요합니다. LoRA는 개발자가 값비싸고 시간이 많이 소요되는 재학습 없이도 목표한 변경을 수행할 수 있도록 지원합니다.

머신 러닝에서 모델 가중치란?

모델 가중치는 다양한 유형의 입력의 중요도를 결정하는 머신 러닝 모델의 수학적 값입니다. 이 가중치를 조정하면 모델이 데이터를 해석하고 처리하는 방식이 변경됩니다.

LoRA는 신경망 최적화와 어떤 관련이 있을까요?

LoRA는 저순위 행렬을 추가하여 신경망을 광범위하게 재학습할 필요 없이 적응성을 높여 특정 작업에 대한 모델 성능을 개선하는 신경망 최적화 기술입니다.