LLM을 미세 조정하기 위해 LORA를 사용하고 있습니까?
LORA (LOW RANK ADAPTIVE-ARXIV.org/abs/2106.09685)는 비용 효율적이고 미세 조정 된 대형 언어 모델 (LLM) 인 인기있는 기술입니다. 그러나 2024 년에 많은 수의 새로운 매개 변수 효율적인 미세 조정 기술이 등장했으며 SVF, SVFT, Milora, Pissa, Lora-Xs? 깊이있게 다이빙합시다.
로라
Lora의 초기 통찰력은 미세 조정 모델의 모든 가중치가 과도하게 작동한다는 것입니다. 대신, Lora는 모델을 동결하고 작은 저급 어댑터 "행렬 한 쌍 만 훈련합니다. 아래 그림을 참조하십시오 (여기서 W는 변압기 LLM의 중량 매트릭스).
계산 및 저장해야 할 구배가 훨씬 적기 때문에 메모리 및 계산주기를 저장할 수 있습니다. 예를 들어, 이것은 Lora 미세 조정을 사용하여 해적의 말을 시뮬레이션하는 Gemma 8B 모델입니다.
로라는 매우 인기가 있습니다. 단일 라인 API로 Keras와 같은 주류 ML 프레임 워크를 입력했습니다.
<code>gemma.backbone.enable_lora(rank=8)</code>
그러나 로라가 최고입니까? 연구원들은 공식을 개선하기 위해 노력하고 있습니다. 실제로 더 작은 "어댑터"행렬을 선택하는 방법에는 여러 가지가 있습니다. 그들 중 대부분은 매트릭스의 단일 가치 분해 (SVD)를 영리하게 활용하기 때문에 약간의 수학을 멈추자.
SVD : 간단한 수학
SVD는 매트릭스 구조를 이해하기에 좋은 도구입니다. 이 기술은 매트릭스를 3 : w = usv t 로 분해합니다. 여기서 u와 v는 직교 (즉, 기본 변환), s는 분류 된 단일 값의 대각선 행렬입니다. 이 분해는 항상 존재합니다.
"교과서"SVD에서 U 및 V는 사각형 매트릭스이고 S는 대각선 및 0에 단일 값을 갖는 직사각형 매트릭스이고 그 뒤에는 직사각형 행렬입니다. 실제로, 정사각형 매트릭스와 사각형 U 또는 V를 사용할 수 있습니다 - 그림 참조 - 잘린 부분은 0을 곱합니다. 이 "경제"SVD는 Numpy.linalg.svd와 같은 일반적인 라이브러리에서 사용됩니다.
그렇다면 어떻게 우리는 이것을 사용하여 훈련 할 무게를보다 효과적으로 선택합니까? 해설 지침으로 최근의 5 가지 SVD 기반 저 순위 미세 조정 기술을 빠르게 살펴 보겠습니다.
SVF
LORA의 가장 쉬운 대안은 모델의 중량 매트릭스에서 SVD를 사용한 다음 단일 값을 직접 미세 조정하는 것입니다. 이상하게도 이것은 Transformers² Paper (arxiv.org/abs/2501.06252v2)에 게시 된 SVF라고 불리는 최신 기술입니다.
SVF는 LORA보다 매개 변수 측면에서 훨씬 경제적입니다. 또한 미세 조정 모델을 합리적으로 만듭니다. 이에 대한 자세한 내용은 내 변압기 ² 설명을 참조하십시오. 그러나 두 개의 SVF 미세 조정 모델을 결합한 것은 추가 작업 일뿐입니다.
SVFT
더 많은 훈련 가능한 매개 변수가 필요한 경우 SVFT 용지 (arxiv.org/abs/2405.19597)는 먼저 대각선에 더 많은 훈련 가능한 무게를 추가하여 다양한 방법을 탐색합니다.
또한 "M"행렬에 무작위로 산란하는 것과 같은 다양한 다른 대안을 평가합니다.
더 중요한 것은 SVFT 용지는 대각선보다 더 훈련 가능한 값을 갖는 것이 유용하다는 것을 확인하는 것입니다. 아래의 미세 조정 결과를 참조하십시오.
다음은 단일 값을 "큰"과 "작은"의 두 그룹으로 나누는 몇 가지 기술입니다. 그러나 계속하기 전에 SVD 수학을 조금 더 일시 중지합시다.
더 많은 SVD 수학
SVD는 일반적으로 3 개의 행렬 w = USV T 로 분해되는 것으로 간주되지만 단수 값으로 가중 된 많은 순위 1 매트릭스의 가중 합으로 간주 될 수 있습니다.
이것을 증명하려면 USV t 형식과 행렬 곱셈의 공식을 사용하여 한편으로는 단일 행렬 요소 W JK 를 표현하고 다른 한편으로는 σ s i u i v i t 양식을 사용하고 S가 대각선이라는 사실을 단순화하고 동일하다는 사실을 주목하십시오.
이 표현에서는 합을 두 부분으로 나눌 수 있다는 것을 쉽게 알 수 있습니다. 그리고 항상 단일 값을 정렬 할 수 있으므로 "큰"및 "작은"단수 값으로 나눌 수 있습니다.
세 가지 행렬 형태 w = usv t 로 돌아가서, 이것은 세분화 된 것입니다.
이 공식을 바탕으로 두 논문은 큰 단수 값 또는 작은 단수 값, 즉 Pissa와 Milora 만 조정하면 어떻게되는지 탐구합니다.
Pissa
Pissa (주요 단일 값 및 단일 벡터 적응, arxiv.org/abs/2404.02948)는 큰 마스터 값 만 조정해야한다고 주장합니다. 메커니즘은 다음과 같습니다.
논문에서 발췌 한 : "Pissa는 가중치 매트릭스의 특성을 포착하는 것으로 여겨지는 주요 단수 구성 요소를 조정하여 완전한 미세 조정을 근사화하는 것을 목표로합니다. 대신 Milora는 새로운 작업에 적응하면서 기본 모델에 대한 지식을 최대화하도록 설계되었습니다."
Pissa Paper에는 흥미로운 발견이 있습니다. 완전한 미세 조정은 과적으로 적합합니다. 낮은 순위 미세 조정 기술을 사용하면 절대 값에 대한 더 나은 결과를 얻을 수 있습니다.
밀로라
반면 Milora는 작은 마스터 값 만 조정해야한다고 주장합니다. Pissa와 유사한 메커니즘을 사용합니다.
놀랍게도, Milora는 적어도 수학적 데이터 세트를 미세 조정할 때 원래의 사전 훈련과 상당히 일치 할 수 있습니다. Pissa는 사전 훈련에서 LLM의 동작을 더욱 구부리려면 더 적합해야한다고 주장 할 수 있습니다.
로라 -XS
마지막으로 LORA-XS (arxiv.org/abs/2405.17604)를 언급하고 싶습니다. Pissa와 매우 유사하지만 메커니즘은 약간 다릅니다. 또한 LORA보다 훨씬 적은 매개 변수가 좋은 결과를 낳는다는 것을 보여줍니다.
이 논문은이 설정이 두 가지 경우에 "이상적"이라는 수학적 설명을 제공합니다.
- SVD에서 하단 메인 값을 줄이면 여전히 중량 매트릭스가 우수합니다.
- 미세 조정 데이터 배포는 사전 훈련 데이터 분포에 가깝습니다
둘 다 의심의 여지가있는 것처럼 보이므로 수학에 자세히 들어 가지 않을 것입니다. 일부 결과 :
기본적인 가정은 단수 값이 "큰"및 "작은"으로 나뉘어져 있지만 사실입니까? Colab에서 gemma2 9b를 빨리 확인했습니다. 결론 : 단일 값의 99%는 0.1 - 1.1의 범위입니다. 그것들을 "큰"및 "작은"으로 나누는 것이 합리적인지 확실하지 않습니다.
결론적으로
효율적인 매개 변수화를위한 다른 미세 조정 기술이 많이 있습니다. 언급 할 가치가 있습니다.
- 무게를 크기와 방향으로 나누고 그 무게를 조정하는 dora (arxiv.org/abs/2402.09353).
- Adalora (arxiv.org/abs/2303.10512)는 주어진 교육 가능한 중량 예산에 대한 최상의 조정 순위를 찾는 복잡한 메커니즘을 가지고 있습니다.
결론 : 10x 매개 변수로 LORA 표준을 능가하기 위해 Transformers²의 SVF의 단순성을 좋아합니다. 더 많은 훈련 가능한 무게가 필요한 경우 SVFT는 간단한 확장입니다. 둘 다 모든 단일 값 (전체 순위, 단일 값 가지 치기 없음)을 사용하고 여전히 저렴합니까?. 나는 당신에게 행복한 미세 조정을 기원합니다!
참고 : 모든 삽화는 저자에 의해 만들어 지거나 Arxiv.org 논문에서 추출하여 의견 및 토론을 위해 추출됩니다.
위 내용은 LLM을 미세 조정하기 위해 LORA를 사용하고 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

에이전트 AI에서 작업하는 동안 개발자는 종종 속도, 유연성 및 자원 효율성 사이의 상충 관계를 탐색하는 것을 발견합니다. 나는 에이전트 AI 프레임 워크를 탐구하고 Agno를 만났다 (이전에는 ph-이었다.

릴리스에는 GPT-4.1, GPT-4.1 MINI 및 GPT-4.1 NANO의 세 가지 모델이 포함되어 있으며, 대형 언어 모델 환경 내에서 작업 별 최적화로 이동합니다. 이 모델은 사용자를 향한 인터페이스를 즉시 대체하지 않습니다

SQL의 Alter Table 문 : 데이터베이스에 열을 동적으로 추가 데이터 관리에서 SQL의 적응성이 중요합니다. 데이터베이스 구조를 즉시 조정해야합니까? Alter Table 문은 솔루션입니다. 이 안내서는 Colu를 추가합니다

임베딩 모델의 힘 잠금 해제 : Andrew Ng의 새로운 코스에 대한 깊은 다이빙 기계가 완벽한 정확도로 질문을 이해하고 응답하는 미래를 상상해보십시오. 이것은 공상 과학이 아닙니다. AI의 발전 덕분에 R이되었습니다

Rocketpy : 포괄적 인 가이드로 로켓 발사 시뮬레이션 이 기사는 강력한 파이썬 라이브러리 인 Rocketpy를 사용하여 고출력 로켓 런칭을 시뮬레이션하는 것을 안내합니다. 로켓 구성 요소 정의에서 Simula 분석에 이르기까지 모든 것을 다룰 것입니다.

Google의 AI 전략의 기초로서 Gemini Gemini는 Google의 AI 에이전트 전략의 초석으로 고급 멀티 모드 기능을 활용하여 텍스트, 이미지, 오디오, 비디오 및 코드에서 응답을 처리하고 생성합니다. Deepm에 의해 개발되었습니다

Hugging Face는 X에서“우리가 오픈 소스 로봇을 전 세계에 가져 오기 위해 꽃가루 로봇 공학을 획득하고 있음을 발표하게되어 기쁩니다.

AI 커뮤니티의 상당한 개발에서 Agentica와 AI는 DeepCoder-14B라는 오픈 소스 AI 코딩 모델을 발표했습니다. OpenAI와 같은 폐쇄 소스 경쟁 업체와 동등한 코드 생성 기능 제공
