소규모 언어 모델 (SLM)은 AI에 큰 영향을 미치고 있습니다. 그들은 효율적이고 비용 효율적으로 강력한 성능을 제공합니다. 눈에 띄는 예 중 하나는 Llama 3.2 3B입니다. RAG ( Rectrive-Augmented Generation ) 작업에서 예외적으로 잘 수행되어 계산 비용 및 메모리 사용량을 절감하면서 높은 정확도를 유지합니다. 이 기사는 LLAMA 3.2 3B 모델을 미세 조정하는 방법을 살펴 봅니다. 소규모 모델이 RAG 작업에서 어떻게 뛰어난 방법을 배우고 Compact AI 솔루션이 달성 할 수있는 것의 경계를 넓 힙니다.
목차
- llama 3.2 3b는 무엇입니까?
- Finetuning Llama 3.2 3B
- 로라
- 라이브러리가 필요합니다
- 라이브러리를 가져옵니다
- 모델과 토 케이저를 초기화하십시오
- PEFT 모델을 초기화하십시오
- 데이터 처리
- 트레이너 매개 변수 설정
- 모델을 미세 조정합니다
- 모델을 테스트하고 저장하십시오
- 결론
- 자주 묻는 질문
llama 3.2 3b는 무엇입니까?
Meta가 개발 한 LLAMA 3.2 3B 모델은 질문 답변, 요약 및 대화 시스템과 같은 작업을 위해 30 억 매개 변수를 갖춘 다국어 SLM입니다. 업계 벤치 마크에서 많은 오픈 소스 모델을 능가하고 다양한 언어를 지원합니다. 다양한 크기로 제공되는 LLAMA 3.2는 효율적인 계산 성능을 제공하며 모바일 및 에지 환경에서 더 빠르고 메모리 효율적인 배포를위한 양자화 된 버전을 포함합니다.
또한 읽기 : 상위 13 개 소규모 언어 모델 (SLM)
Finetuning Llama 3.2 3B
미세 조정은 SLM 또는 LLM을 의료, 법률 또는 RAG 응용 프로그램과 같은 특정 도메인 또는 작업에 적용하는 데 필수적입니다. 사전 훈련을 통해 언어 모델은 다양한 주제에서 텍스트를 생성 할 수 있지만 미세 조정은 도메인 별 또는 작업 별 데이터에 대한 모델을 관련성과 성능을 향상시킵니다. 모든 매개 변수를 미세 조정하는 높은 계산 비용을 해결하기 위해 PEFT (Parameter Efficient Fine-Tuning)와 같은 기술은 모델 매개 변수의 하위 집합 만 훈련하는 데 중점을두고 성능을 유지하면서 리소스 사용량을 최적화합니다.
로라
이러한 PEFT 방법 중 하나는 낮은 순위 적응 (LORA)입니다.
LORA에서는 SLM 또는 LLM의 중량 매트릭스가 두 개의 저급 매트릭스의 생성물로 분해됩니다.
w = wa * wb
W에 M 행과 N 열이 있으면 M 행 및 R 열이있는 WA로 분해되고 R 행 및 N 열이있는 WB가 분해 될 수 있습니다. 여기서 r은 m 또는 n보다 훨씬 작습니다. 따라서 M*N 값을 교육하는 대신 r*(Mn) 값 만 훈련 할 수 있습니다. r을 우리가 선택할 수있는 과수기 동물 인 순위라고합니다.
def lora_linear (x) :<br> h = x @ w # 일반 선형<br> h = scale * (x @ w_a @ w_b) # 저급 업데이트<br> 반환 h
체크 아웃 : Lora 및 Qlora를 사용한 대형 언어 모델의 매개 변수 효율적인 미세 조정
LLAMA 3.2 3B 모델에서 LORA를 구현합시다.
라이브러리가 필요합니다
- 풀다 - 2024.12.9
- 데이터 세트 - 3.1.0
위의 나무 늘보 버전을 설치하면 호환 Pytorch, Transformers 및 Nvidia GPU 라이브러리도 설치됩니다. Google Colab을 사용하여 GPU에 액세스 할 수 있습니다.
지금 구현을 봅시다!
라이브러리를 가져옵니다
Unsloth import에서 fastlanguagemodel, is_bfloat16_supported, train_on_responses_only 데이터 세트에서 import load_dataset, dataset trl import sfttrainer, apply_chat_template에서 Transformers에서 Training Arguments, DatacollatorforSeq2Seq, TextStreamer에서 토치 수입
모델과 토 케이저를 초기화하십시오
max_seq_length = 2048 dtype = none # 자동 감지용 없음. load_in_4bit = true # 4 비트 양자화를 사용하여 메모리 사용을 줄입니다. 거짓일 수 있습니다. 모델, Tokenizer = FastLanguagemodel.from_pretrained ( model_name = "Unsloth/llama-3.2-3B-instruct", max_seq_length = max_seq_length, dtype = dtype, load_in_4bit = load_in_4bit, # TOKEN = "HF _...", # Meta-Llama/llama-3.2-11B와 같은 게이트 모델을 사용하는 경우 # 사용 ))
Unsloth가 지원하는 다른 모델의 경우이 문서를 참조 할 수 있습니다.
PEFT 모델을 초기화하십시오
model = fastlanguagemodel.get_peft_model ( 모델, r = 16, target_modules = [ "q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj",], lora_alpha = 16, lora_dropout = 0, 바이어스 = "없음", use_gradient_checkpointing = "Unsloth", random_state = 42, use_rslora = false, loftq_config = 없음, ))
각 매개 변수에 대한 설명
- R : Lora의 계급; 값이 높을수록 정확도가 향상되지만 더 많은 메모리를 사용합니다 (제안 : 8–128).
- Target_Modules : 미세 조정 모듈; 더 나은 결과를 위해 모든 것을 포함하십시오
- lora_alpha : 스케일링 계수; 일반적으로 순위 r의 두 배나 동일합니다.
- LORA_DROPOUT : 드롭 아웃 속도; 최적화되고 빠른 교육을 위해 0으로 설정하십시오.
- 바이어스 : 바이어스 유형; "없음"은 속도와 최소한 과적으로 최적화되어 있습니다.
- use_gradient_checkpointing : 장기 텍스트 교육을위한 메모리를 줄입니다. "Unsloth"가 적극 권장됩니다.
- Random_state : 재현 가능한 결과를 보장하는 결정 론적 실행을위한 시드 (예 : 42).
- use_rslora : 알파 선택을 자동화합니다. 순위 안정화 된 LORA에 유용합니다.
- loftq_config : 메모리 집약적이지만 더 나은 정확도를 위해 상위 R 단일 벡터로 LORA를 초기화합니다.
데이터 처리
우리는 Rag 데이터를 사용하여 Finetune을 사용합니다. Huggingface에서 데이터를 다운로드하십시오.
DataSet = load_dataset ( "Neural-Bridge/Rag-Dataset-1200", Split = "Train")
데이터 세트에는 다음과 같이 세 가지 키가 있습니다.
DataSet ({feature : [ 'context', 'Question', 'Answer'], num_rows : 960})
데이터는 언어 모델에 따라 특정 형식이어야합니다. 자세한 내용은 여기를 참조하십시오.
따라서 데이터를 필요한 형식으로 변환하겠습니다.
def convert_dataset_to_dict (dataset) : dataSet_dict = { "즉각적인": [], "완성": [] } 데이터 세트의 행 : user_content = f "context : {row [ 'context']} \ nquestion : {row [ 'Question']}" Assistant_Content = Row [ 'Answer'] DataSet_dict [ "Prompt"]. Append ([[[ { "역할": "사용자", "컨텐츠": user_content} ]))) DataSet_dict [ "완료"]. Append ([[[ { "역할": "Assistant", "Content": Assistant_Content} ]))) DataSet_dict를 반환합니다 converted_data = convert_dataset_to_dict (dataSet) DataSet = dataset.from_dict (converted_data) DataSet = dataset.map (apply_chat_template, fn_kwargs = { "Tokenizer": Tokenizer})
데이터 세트 메시지는 다음과 같습니다.
트레이너 매개 변수 설정
SLM을 미세 조정하기 위해 트레이너를 초기화 할 수 있습니다.
트레이너 = sfttrainer ( 모델 = 모델, Tokenizer = Tokenizer, Train_Dataset = 데이터 세트, max_seq_length = max_seq_length, data_collator = DataCollatorforSeq2Seq (Tokenizer = Tokenizer), DataSet_num_Proc = 2, Packing = False, #은 짧은 시퀀스를 위해 5 배 더 빠르게 훈련 할 수 있습니다. args = training arguments ( per_device_train_batch_size = 2, gradient_accumulation_steps = 4, Warmup_steps = 5, # num_train_epochs = 1, # 전체 훈련 실행에 대해 설정하십시오. max_steps = 6, # 소수를 사용하여 테스트합니다 Learning_rate = 2E-4, fp16 = is_bfloat16_supported (), bf16 = is_bfloat16_supported (), logging_steps = 1, 최적 = "adamw_8bit", weight_decay = 0.01, lr_scheduler_type = "선형", 종자 = 3407, output_dir = "출력", report_to = "none", # wandb 등에 사용하십시오 ),) ))
일부 매개 변수에 대한 설명 :
- PER_DEVICE_TRAIN_BATCH_SIZE : 장치 당 배치 크기; 더 많은 GPU 메모리를 활용하려면 증가하지만 비효율적 인 패딩을 지켜보십시오 (제안 : 2).
- gradient_accumulation_steps : 추가 메모리 사용없이 더 큰 배치 크기를 시뮬레이션합니다. 더 부드러운 손실 곡선의 증가 (제안 : 4).
- Max_steps : 총 교육 단계; 더 빠른 실행 (예 : 60)으로 설정하거나 전체 데이터 세트 패스 (예 : 1-3)에`num_train_epochs`를 사용하십시오.
- Learning_rate : 훈련 속도와 수렴을 제어합니다. 낮은 요금 (예 : 2E-4)은 정확도를 향상 시키지만 훈련이 느립니다.
응답 템플릿을 지정 하여만 응답에 대한 모델 열차를 만듭니다.
트레이너 = train_on_responses_only ( 훈련자, 습기_part = " user \ n \ n", response_part = " 어시스턴트 \ n \ n", ))
모델을 미세 조정합니다
Trainer_stats = Trainer.Train ()
교육 통계는 다음과 같습니다.
모델을 테스트하고 저장하십시오
추론을 위해 모델을 사용합시다.
fastlanguagemodel.for_inference (모델) 메시지 = [ { "역할": "사용자", "내용": "컨텍스트 : 하늘은 일반적으로 낮에는 분명합니다. 질문 : 물은 어떤 색입니까?"}, ]] 입력 = tokenizer.apply_chat_template ( 메시지, Tokenize = true, add_generation_prompt = true, return_tensors = "pt", ) .to ( "cuda") text_streamer = TextStreamer (Tokenizer, skip_prompt = true) _ = model.generate (input_ids = inputs, streamer = text_streamer, max_new_tokens = 128, use_cache = true, 온도 = 1.5, min_p = 0.1)
로라 가중치를 포함한 훈련 된 것을 저장하려면 아래 코드를 사용하십시오.
model.save_pretraind_merged ( "model", tokenizer, save_method = "merged_16bit")
체크 아웃 : 대형 언어 모델을 미세 조정하는 안내서
결론
RAG 작업의 미세 조정 LLAMA 3.2 3B는 계산 비용을 줄이는 고성능을 제공하는 작은 모델의 효율성을 보여줍니다. LORA와 같은 기술은 정확도를 유지하면서 리소스 사용량을 최적화합니다. 이 접근법은 도메인 별 응용 프로그램을 강화하여 고급 AI가보다 접근 가능하고 확장 가능하며 비용 효율적이며 실제 도전에 대한 AI를 검색하고 민주화하는 혁신을 주도합니다.
또한 읽으십시오 : 메타 라마 3.2로 시작하십시오
자주 묻는 질문
Q1. 헝겊이란?A. Rag는 검색 시스템과 생성 모델을 결합하여 외부 지식에 접지하여 응답을 향상시켜 질문 답변 및 요약과 같은 작업에 이상적입니다.
Q2. 미세 조정을 위해 LLAMA 3.2 3B를 선택하는 이유는 무엇입니까?A. LLAMA 3.2 3B는 성능, 효율성 및 확장 성의 균형을 제공하여 RAG 작업에 적합한 동시에 계산 및 메모리 요구 사항을 줄입니다.
Q3. Lora 란 무엇이며 미세 조정을 어떻게 개선합니까?A. 저 순위 적응 (LORA)은 모든 모델 매개 변수 대신 저 순위 행렬 만 교육하여 자원 사용량을 최소화하여 제한된 하드웨어에 대한 효율적인 미세 조정을 가능하게합니다.
Q4. 이 기사에서 미세 조정에 어떤 데이터 세트가 사용됩니까?A. Hugging Face는 더 나은 작업 성능을 위해 LLAMA 3.2 3B 모델을 미세 조정하기 위해 컨텍스트, 질문 및 답변이 포함 된 Rag 데이터 세트를 제공합니다.
Q5. 미세 조정 모델을 Edge 장치에 배포 할 수 있습니까?A. 예, LLAMA 3.2 3B, 특히 양자화 된 형태로 Edge 및 모바일 환경에서 메모리 효율적인 배포에 최적화되어 있습니다.
위 내용은 미세 조정 라마 3.2 3B 헝겊 분석 - 분석 Vidhya의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
![chatgpt를 사용할 수 없습니다! 즉시 테스트 할 수있는 원인과 솔루션 설명 [최신 2025]](https://img.php.cn/upload/article/001/242/473/174717025174979.jpg?x-oss-process=image/resize,p_40)
chatgpt에 액세스 할 수 없습니까? 이 기사는 다양한 실용적인 솔루션을 제공합니다! 많은 사용자가 매일 chatgpt를 사용할 때 액세스 할 수 없거나 느린 응답과 같은 문제가 발생할 수 있습니다. 이 기사는 다양한 상황에 따라 이러한 문제를 단계별로 해결하도록 안내합니다. Chatgpt의 접근성 및 예비 문제 해결의 원인 먼저 문제가 OpenAI 서버 측 또는 사용자의 네트워크 또는 장치 문제에 있는지 확인해야합니다. 문제 해결을 위해 아래 단계를 따르십시오. 1 단계 : OpenAI의 공식 상태를 확인하십시오 chatgpt 서비스가 정상적으로 실행 중인지 확인하려면 OpenAi 상태 페이지 (status.openai.com)를 방문하십시오. 빨간색 또는 노란색 알람이 표시되면 열린 것을 의미합니다.

2025 년 5 월 10 일, MIT 물리학 자 Max Tegmark는 AI Labs가 인공 초 지능을 방출하기 전에 Oppenheimer의 삼위 일체 테스트 미적분학을 모방해야한다고 Guardian에게 말했다. “내 평가는 'Compton Constant', 인종이

AI 음악 제작 기술은 매일 매일 변화하고 있습니다. 이 기사는 Chatgpt와 같은 AI 모델을 예로 사용하여 AI를 사용하여 음악 제작을 지원하고 실제 사례에 대해 설명하는 방법을 자세히 설명합니다. 우리는 Sunoai, Hugging Face의 AI Jukebox 및 Python 's Music21 Library를 통해 음악을 만드는 방법을 소개합니다. 이러한 기술을 통해 모든 사람은 독창적 인 음악을 쉽게 만들 수 있습니다. 그러나 AI 생성 컨텐츠의 저작권 문제는 무시할 수 없으며 사용할 때는 신중해야합니다. 음악 분야에서 AI의 무한한 가능성을 모색 해 봅시다! OpenAi의 최신 AI 에이전트 "OpenAi Deep Research"가 소개됩니다. [chatgpt] ope

ChatGpt-4의 출현은 AI 응용 프로그램의 가능성을 크게 확장했습니다. GPT-3.5와 비교하여 ChatGpt-4는 상당히 개선되었습니다. 강력한 맥락 이해력이 있으며 이미지를 인식하고 생성 할 수도 있습니다. 그것은 보편적 인 AI 조수입니다. 비즈니스 효율성 향상 및 창출 지원과 같은 많은 분야에서 큰 잠재력을 보여주었습니다. 그러나 동시에, 우리는 또한 사용의 예방 조치에주의를 기울여야합니다. 이 기사에서는 ChatGpt-4의 특성을 자세히 설명하고 다양한 시나리오에 대한 효과적인 사용 방법을 소개합니다. 이 기사에는 최신 AI 기술을 최대한 활용하는 기술이 포함되어 있습니다. OpenAi의 최신 AI 에이전트, "OpenAi Deep Research"에 대한 자세한 내용은 아래 링크를 클릭하십시오.

chatgpt 앱 : AI 조수와 함께 창의력을 발휘하십시오! 초보자 가이드 Chatgpt 앱은 쓰기, 번역 및 질문 답변을 포함하여 광범위한 작업을 처리하는 혁신적인 AI 어시스턴트입니다. 창의적인 활동과 정보 수집에 유용한 끝없는 가능성이있는 도구입니다. 이 기사에서는 초보자를위한 이해하기 쉬운 방법, ChatGpt 스마트 폰 앱을 설치하는 방법, 음성 입력 기능 및 플러그인과 같은 앱의 고유 한 기능 및 앱을 사용할 때 염두에 두는 포인트에 이르기까지 설명합니다. 또한 플러그인 제한 및 장치 간 구성 동기화를 자세히 살펴 보겠습니다.

Chatgpt Chinese 버전 : 중국 AI 대화의 새로운 경험 잠금 해제 Chatgpt는 전 세계적으로 인기가 있습니다. 중국어 버전도 제공한다는 것을 알고 있습니까? 이 강력한 AI 도구는 일상적인 대화를 지원할뿐만 아니라 전문적인 콘텐츠를 처리하며 단순화되고 전통적인 중국어와 호환됩니다. 중국의 사용자이든 중국어를 배우는 친구이든 상관없이 혜택을 누릴 수 있습니다. 이 기사는 계정 설정, 중국 신속한 단어 입력, 필터 사용 및 다양한 패키지 선택을 포함하여 ChatGpt 중국어 버전을 사용하는 방법을 자세히 소개하고 잠재적 위험 및 응답 전략을 분석합니다. 또한 ChatGpt 중국어 버전을 다른 중국 AI 도구와 비교하여 장점과 응용 프로그램 시나리오를 더 잘 이해할 수 있도록 도와줍니다. Openai의 최신 AI 인텔리전스

이것들은 생성 AI 분야의 다음 도약으로 생각 될 수 있으며, 이는 우리에게 Chatgpt 및 기타 대규모 모델 챗봇을 제공했습니다. 단순히 질문에 대답하거나 정보를 생성하는 대신, 우리를 대신하여 조치를 취할 수 있습니다.

ChatGpt를 사용한 효율적인 다중 계정 관리 기술 | 비즈니스와 사생활 사용 방법에 대한 철저한 설명! Chatgpt는 다양한 상황에서 사용되지만 일부 사람들은 여러 계정 관리에 대해 걱정할 수 있습니다. 이 기사는 ChatGpt에 대한 여러 계정을 만드는 방법, 사용할 때 수행 할 작업 및 안전하고 효율적으로 작동하는 방법을 자세히 설명합니다. 또한 비즈니스와 개인 사용의 차이, OpenAI의 이용 약관을 준수하는 것과 같은 중요한 점을 다루며 여러 계정을 안전하게 활용하는 데 도움이되는 안내서를 제공합니다. Openai


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구