찾다
기술 주변기기일체 포함LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

LoRA(Low-Rank Adaptation)는 LLM(대형 언어 모델)을 미세 조정하기 위해 설계된 인기 있는 기술입니다. 이 기술은 원래 Microsoft 연구원이 제안했으며 "LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS" 논문에 포함되었습니다. LoRA는 신경망의 모든 매개변수를 조정하는 대신 소수의 하위 행렬을 업데이트하는 데 중점을 두고 모델 학습에 필요한 계산량을 크게 줄인다는 점에서 다른 기술과 다릅니다.

LoRA의 미세 조정 품질은 전체 모델 미세 조정과 비슷하기 때문에 많은 사람들이 이 방법을 미세 조정 아티팩트라고 부릅니다. 출시 이후 많은 사람들이 이 기술에 대해 호기심을 갖고 연구를 더 잘 이해하기 위해 코드를 작성하고 싶어했습니다. 과거에는 적절한 문서가 부족한 것이 문제였지만 이제는 도움이 될 수 있는 튜토리얼이 있습니다.

이 튜토리얼의 저자는 유명한 기계 학습 및 AI 연구원인 Sebastian Raschka입니다. 그는 다양한 효과적인 LLM 미세 조정 방법 중에서 LoRA가 여전히 그의 첫 번째 선택이라고 말했습니다. 이를 위해 Sebastian은 LoRA를 처음부터 구축하기 위해 블로그 "Code LoRA From Scratch"를 작성했습니다. 그의 의견으로는 이것이 좋은 학습 방법입니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

이 기사에서는 처음부터 코드를 작성하여 LoRA(낮은 순위 적응)를 소개합니다. Sebastian은 실험에서 DistilBERT 모델을 미세 조정하고 이를 분류 작업에 적용했습니다.

LoRA 방법과 기존의 미세 조정 방법을 비교한 결과, LoRA 방법은 테스트 정확도가 92.39%에 달하며, 이는 모델의 마지막 몇 레이어만 미세 조정한 것(86.22% 테스트 정확도)보다 우수합니다. ) 성능. 이는 LoRA 방법이 모델 성능을 최적화하는 데 분명한 이점이 있고 모델의 일반화 능력과 예측 정확도를 더 잘 향상시킬 수 있음을 보여줍니다. 이 결과는 더 나은 성능과 결과를 얻기 위해 모델 훈련 및 조정 중에 고급 기술과 방법을 채택하는 것이 중요함을 강조합니다.

Sebastian이 어떻게 이를 달성했는지 비교하면서 아래를 살펴보겠습니다.

처음부터 LoRA 작성

코드에서 LoRA 레이어를 설명하는 방법은 다음과 같습니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

여기서 in_dim은 LoRA를 사용하여 수정하려는 레이어의 입력 차원이며, 이 out_dim에 해당합니다. 레이어의 출력 차원 알파 값이 높을수록 모델 동작에 대한 조정이 더 커짐을 의미하고 값이 낮을수록 그 반대를 의미합니다. 또한 이 기사에서는 무작위 분포에서 더 작은 값으로 행렬 A를 초기화하고 행렬 B를 0으로 초기화합니다.

LoRA가 작동하는 곳은 일반적으로 신경망의 선형(피드포워드) 계층이라는 점을 언급할 가치가 있습니다. 예를 들어, 두 개의 선형 레이어가 있는 간단한 PyTorch 모델 또는 모듈(예: Transformer 블록의 피드포워드 모듈일 수 있음)의 경우 전달 방법은 다음과 같이 표현될 수 있습니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

이러한 선형 레이어의 출력에 LoRA 업데이트를 추가하는 것이 일반적이며 결과 코드는 다음과 같습니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

기존 PyTorch 모델을 수정하여 LoRA를 구현하려는 경우 간단한 방법은 각 선형 레이어

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

이러한 개념은 아래 그림에 요약되어 있습니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

이 기사에서는 LoRA를 적용하기 위해 신경망의 기존 선형 레이어를 결합된 레이어로 대체합니다. 원본 선형 레이어와 LoRALayer의 LinearWithLoRA 레이어.

미세 조정을 위해 LoRA를 사용하는 방법

LoRA는 GPT나 이미지 생성과 같은 모델에 사용할 수 있습니다. 간단한 설명을 위해 이 기사에서는 텍스트 분류를 위해 소규모 BERT(DistilBERT) 모델을 사용합니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

이 문서에서는 새로운 LoRA 가중치만 훈련하므로 모든 모델 매개변수를 고정하려면 모든 훈련 가능한 매개변수의 require_grad를 False로 설정해야 합니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

다음으로 print(model)를 사용하여 모델을 확인합니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

LoRA의 구조는 다음 할당 함수와 루프를 정의하여 이러한 선형 레이어에 대해 선택적으로 활성화할 수 있습니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다. 업데이트된 구조를 확인하려면 인쇄(모델)를 사용하여 모델을 다시 확인하세요.

위에서 볼 수 있듯이 Linear 레이어가 LinearWithLoRA 레이어로 성공적으로 대체되었습니다. LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

위에 표시된 기본 하이퍼 매개변수를 사용하여 모델을 훈련하면 IMDb 영화 리뷰 분류 데이터 세트에서 다음과 같은 성능이 나타납니다.

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

훈련 정확도: 92.15%

검증 정확도: 89.98%

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

테스트 정확도: 89.44%

다음 섹션에서 이 문서에서는 이러한 LoRA 미세 조정 결과를 기존 미세 조정 결과와 비교합니다.

  • 기존 미세 조정 방법과의 비교
  • 이전 섹션에서 LoRA는 기본 설정에서 89.44%의 테스트 정확도를 달성했습니다. 이는 기존 미세 조정 방법과 어떻게 비교됩니까?
  • 비교를 위해 이 기사에서는 DistilBERT 모델 교육을 예로 들어 또 다른 실험을 수행했지만 교육 중에 마지막 2개 레이어만 업데이트했습니다. 연구원들은 모든 모델 가중치를 동결한 다음 두 개의 선형 출력 레이어를 동결 해제하여 이를 달성했습니다.

마지막 두 레이어만 훈련하여 얻은 분류 성능은 다음과 같습니다.

훈련 정확도: 86.68%

검증 정확도: 87.26%

테스트 정확도: 86.22%

LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

결과에 따르면 LoRA는 마지막 두 레이어를 미세 조정하는 기존 방법보다 성능이 뛰어나지만 4배 적은 매개 변수를 사용합니다. . 모든 레이어를 미세 조정하려면 LoRA 설정보다 450배 더 ​​많은 매개변수를 업데이트해야 했지만 테스트 정확도는 2%만 향상되었습니다.

  • LoRA 구성 최적화
  • 위에 언급된 결과는 모두 기본 설정에서 LoRA에 의해 수행됩니다. 하이퍼 매개변수는 다음과 같습니다.
  • 사용자가 다른 하이퍼 매개변수 구성을 시도하려는 경우 다음을 수행할 수 있습니다. 다음 명령을 사용하십시오.

그러나 최적의 하이퍼 매개변수 구성은 다음과 같습니다.

이 구성에서 결과는 다음과 같습니다. LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.

  • 검증 정확도: 92.96%
  • 테스트 정확도: 92.39%

LoRA 설정(500k VS 66M)에서 훈련 가능한 매개변수의 작은 세트만 있더라도 정확도는 전체 미세 조정으로 얻은 정확도보다 여전히 약간 높습니다.

원본 링크: https://lightning.ai/lightning-ai/studios/code-lora-from-scratch?cnotallow=f5fc72b1f6eeeaf74b648b2aa8aaf8b6

위 내용은 LoRA 코드를 처음부터 작성하는 방법은 다음과 같습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 51CTO.COM에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
외삽에 대한 포괄적 인 가이드외삽에 대한 포괄적 인 가이드Apr 15, 2025 am 11:38 AM

소개 매일 몇 주 만에 작물의 진행 상황을 관찰하는 농부가 있다고 가정합니다. 그는 성장률을보고 몇 주 안에 식물이 얼마나 키가 커질 수 있는지에 대해 숙고하기 시작합니다. Th

소프트 AI의 부상과 오늘날 비즈니스의 의미소프트 AI의 부상과 오늘날 비즈니스의 의미Apr 15, 2025 am 11:36 AM

Soft AI-대략적인 추론, 패턴 인식 및 유연한 의사 결정을 사용하여 구체적이고 좁은 작업을 수행하도록 설계된 AI 시스템으로 정의 된 것은 모호성을 수용하여 인간과 같은 사고를 모방하려고합니다. 그러나 이것이 바이러스의 의미는 무엇입니까?

AI 국경을위한 진화 보안 프레임 워크AI 국경을위한 진화 보안 프레임 워크Apr 15, 2025 am 11:34 AM

클라우드 컴퓨팅이 클라우드 네이티브 보안 도구로의 전환이 필요했기 때문에 AI는 AI의 고유 한 요구를 위해 특별히 설계된 새로운 유형의 보안 솔루션을 요구합니다. 클라우드 컴퓨팅 및 보안 수업의 상승이 배웠습니다 th

3 가지 방법 생성 AI 기업가를 증폭시킵니다 : 평균을 조심하십시오!3 가지 방법 생성 AI 기업가를 증폭시킵니다 : 평균을 조심하십시오!Apr 15, 2025 am 11:33 AM

기업가와 AI 및 생성 AI를 사용하여 비즈니스를 개선합니다. 동시에, 모든 기술과 마찬가지로 생성 AI를 기억하는 것이 중요합니다. 앰프는 앰프입니다. 엄격한 2024 연구 o

Andrew Ng의 모델 임베딩에 대한 새로운 단기 과정Andrew Ng의 모델 임베딩에 대한 새로운 단기 과정Apr 15, 2025 am 11:32 AM

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

대형 언어 모델 (LLMS)에서 환각이 불가피합니까?대형 언어 모델 (LLMS)에서 환각이 불가피합니까?Apr 15, 2025 am 11:31 AM

대형 언어 모델 (LLM) 및 환각의 피할 수없는 문제 Chatgpt, Claude 및 Gemini와 같은 AI 모델을 사용했을 것입니다. 이들은 대규모 텍스트 데이터 세트에 대해 교육을받은 강력한 AI 시스템의 대형 언어 모델 (LLM)의 예입니다.

60% 문제 - AI 검색이 트래픽을 배출하는 방법60% 문제 - AI 검색이 트래픽을 배출하는 방법Apr 15, 2025 am 11:28 AM

최근의 연구에 따르면 AI 개요는 산업 및 검색 유형에 따라 유기 트래픽이 15-64% 감소 할 수 있습니다. 이러한 급격한 변화로 인해 마케팅 담당자는 디지털 가시성에 관한 전체 전략을 재고하게합니다. 새로운

AI R & D의 중심에 인간 번성을하는 MIT Media LabAI R & D의 중심에 인간 번성을하는 MIT Media LabApr 15, 2025 am 11:26 AM

Elon University의 Digital Future Center를 상상 한 최근 보고서는 거의 300 명의 글로벌 기술 전문가를 조사했습니다. 결과적인 보고서 인‘2035 년에 인간이되는 것’은 대부분 AI 시스템의 심화가 T에 대한 우려가 있다고 결론지었습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기