🔥

Поделиться
HTML-код
  • Опубликовано: 26 май 2024
  • 💻 코드
    github.com/teddylee777/langch...
    🤖 디스코드 채널
    / discord
    📘 랭체인 튜토리얼 무료 전자책(wikidocs)
    wikidocs.net/book/14314
    ✅ 랭체인 한국어 튜토리얼 코드저장소(GitHub)
    github.com/teddylee777/langch...
    ⭐️ 강의 홍보 ⭐️
    📍 테디노트 X 패스트캠퍼스 "테디노트의 RAG 비법노트"
    링크: fastcampus.co.kr/data_online_...
    🙏멤버십 가입링크
    / @teddynote
    [꼭 읽어주세요!]
    - 월 2900원씩 납부되기 때문에 가입하시는 것을 권장하지 않습니다🙅🏻
    - 멤버십 회원 분들께는 "1주일 실습코드 선공개", "멤버십 회원 분들을 위한 라이브 Q&A(예정)" 혜택을 제공해 드리고 있습니다.
    #unsloth #lmstudio
    ---
    📍 "테디노트의 RAG 비법노트" 랭체인 강의: fastcampus.co.kr/data_online_...
    📘 랭체인 한국어 튜토리얼(무료 전자책): wikidocs.net/book/14314
    📝 테디노트(깃헙 블로그) : teddylee777.github.io
    💻 GitHub 소스코드 저장소: github.com/teddylee777
    🍿 LLM 프로젝트: llm.teddynote.com

Комментарии • 103

  • @joonlab98
    @joonlab98 Месяц назад +1

    항상 좋은 영상 만들어주셔서 많은 도움 받고 있습니다 테디님 ㅎㅎ
    저를 비롯하여 다른 구독자 분들을 위하여 Timestamp 생성해보았으니 참고하세요:)
    ⏰ Timestamp
    00:00 파인튜닝 소개
    00:07 오늘의 예제: 문서 기반 질의응답 모델
    01:00 파인튜닝 프로세스 설명
    01:25 문서 기반 질의응답 모델 생성 과정
    02:00 데이터셋의 중요성
    03:00 QA Pair 데이터셋 저장 방식: 로컬 & 허깅페이스 허브
    03:35 모델 튜닝: 베이스 모델 + LoRA/QLoRA 어댑터
    04:44 파인튜닝 완료된 모델 저장 & 변환
    05:00 실제 파인튜닝된 모델 예시: TeddyNote
    05:55 데이터셋 생성 코드 설명
    07:17 JSONL 형식으로 데이터셋 저장
    07:30 허깅페이스 데이터셋 라이브러리 활용
    07:46 데이터셋 업로드 준비
    08:20 토큰 발급
    08:50 파인튜닝 코드 설명
    09:20 언슬로스(Unsloth) 소개
    10:10 베이스 모델 선택: 라마 3 Open Ko 8B
    11:09 파인튜닝 실행
    12:14 추론 실행
    13:00 모델 저장
    13:50 허깅페이스 허브에 업로드
    14:00 GGUF 파일 형식 변환
    15:20 LM Studio에서 모델 활용
    16:00 테스트 질문
    16:40 파인튜닝 실습 요약
    17:00 파인튜닝 주의사항
    17:30 마무리

    • @teddynote
      @teddynote  Месяц назад

      감사해용~~~ 🙏

  • @user-bz3qr4di2h
    @user-bz3qr4di2h Месяц назад +4

    소중한 지식 공유 감사합니다

    • @teddynote
      @teddynote  Месяц назад

      시청해 주셔서 감사합니다🙏

  • @jangbongseob
    @jangbongseob Месяц назад +2

    좋은 내용 공유해 주셔서 감사합니다.

    • @teddynote
      @teddynote  Месяц назад

      시청해 주셔서 감사해요🙏

  • @moonsookim7596
    @moonsookim7596 Месяц назад +2

    강의 잘 들었습니다. 감사합니다.

    • @teddynote
      @teddynote  Месяц назад

      시청해 주셔서 감사합니다🙏

  • @cjj-yx9sn
    @cjj-yx9sn Месяц назад +2

    한달동안 gguf 변환때문에 해맸는데.. 너무 감사합니다!!❤❤

  • @SeonggyuLee
    @SeonggyuLee Месяц назад +2

    LoRA 막연히 부담스러운 작업일거라 생각했는데.. 와. 너무 좋은 강의 였습니다~

    • @teddynote
      @teddynote  Месяц назад

      감사합니다!!

    • @heejuneAhn
      @heejuneAhn Месяц назад +1

      허깅페이스가 PEFT 제공하기 때문에 상당히 작업이 간단해 진것 같습니다.

  • @user-hx6of3pc4t
    @user-hx6of3pc4t Месяц назад +1

    감사합니다 ^^

    • @teddynote
      @teddynote  Месяц назад

      눙누낭나님 ㅎㅎ 감사합니다

  • @michaelkwon8126
    @michaelkwon8126 Месяц назад +1

    감사합니다.

    • @teddynote
      @teddynote  Месяц назад

      아이쿠 후원을.. 감사합니다🤤

  • @juliokim766
    @juliokim766 Месяц назад +1

    aya를 ollama에 올려 보려고 구했던 gguf가 ollama에 올릴때 계속 오류가 나서 사용을 못해보고있었는데, 이 방법으로 직접 변경해봐야겠네요~~^^
    항상 감사합니다~:)

    • @teddynote
      @teddynote  Месяц назад +1

      요즘 aya가 대세 이더라고요 ㅎㅎ

    • @heejuneAhn
      @heejuneAhn 27 дней назад +1

      다음과 같이 하니 잘 됩니다.
      print("saving the GGUF model...")
      quantization_method = "q8_0" # "f16" "q8_0" "q4_k_m" "q5_k_m"
      peft_model.save_pretrained_gguf(
      "gguf",
      tokenizer=tokenizer,
      quantization_method=quantization_method,
      )
      print("Try with ollama!")
      '''
      1) copy a reference Model file and moify the gguf file in the first line
      2) ollama create -f Modelfile
      3) ollama run
      '''

  • @kunyoungkim-hw8uh
    @kunyoungkim-hw8uh День назад +3

    안녕하세요! 영상을 보면서 궁금한 부분이 있어서 질문드립니다. 11:34 에서 instruction, output은 매핑은 하지만 input에 값을 넣을 경우에는 어떤 방식으로 진행해야 하나요? alphacaprompt에는 instruction, response 이렇게만 있는데 Context를 추가하는 방법으로 진행하나요..?

    • @teddynote
      @teddynote  23 часа назад

      네 맞습니다 context 를 추가한다고 이해하셔도 좋을 것 같습니다. 답변에 참고할 수 있는 이전 문장을 추가하는 개념입니다^^

    • @kunyoungkim-hw8uh
      @kunyoungkim-hw8uh 11 часов назад

      @@teddynote 항상 좋은 강의 올려주시고 답변해주셔서 감사합니다!! 혹시 context를 추가하는게 alphaca prompt의 형태가 instruction, response 만 존재하는데 context를 추가하는 방법일까요? 아니면 instruction에 instruction + ' ' + context를 함께 넣어주는 방식으로 진행해야 하나요? 제가 해봤는데 추론단계에서 오류가 발생해서 학습데이터 전처리 단계에서 실수한게 있는지 궁금해서 여쭤봅니다! 감사합니다

  • @ikkkiaffgesk
    @ikkkiaffgesk Месяц назад +1

    소중한 강의 감사 합니다. 이번 강의는 gpu vram이 얼마나 필요 하나요?

    • @teddynote
      @teddynote  Месяц назад

      대략 15~20G 사이입니다! 감사합니다^^

  • @user-co8pg8nc1l
    @user-co8pg8nc1l Месяц назад +1

    테디노트님 항상 좋은 강의 감사합니다.
    테디노트님 따라서 gguf 변환까지 잘 따라해보았습니다.
    변환된 모델을 gguf로 ollama 에 올리려니까 template을 어떻게 해야 할지 모르겠더라구요. (llama3 공식 template으로 하니 잘 안되더라구요!)
    혹시 gguf 변환된 파일을 ollama 에 올릴 때 template을 어떻게 하면 좋을지 아시는 분 계실까요?

    • @teddynote
      @teddynote  Месяц назад +1

      템플릿은 alpaca 템플릿으로 업로드 하시면 됩니다^^

  • @user-es9zc9kh8g
    @user-es9zc9kh8g Месяц назад +2

    경록님 좋은 강의 감사합니다. 항상 잘 보고 있습니다 :)
    혹시 하나 질문해도 될까요?
    GPT가 파인튜닝할때, 내부적으로 다음 토큰을 예측하면서 학습을 한다고 알고 있습니다.
    그렇다면 사용하신 알파카 프롬프트에서 ###Instruction 부분의 가장 첫 토큰부터 차례대로 예측하며 학습을 하는 것인가요?
    아니면 ### Instruction 까지는 한꺼번에 input으로 넣고, ### Response 부분의 첫 토큰부터 차례대로 예측하며 학습을 하는 것일까요?
    만약 후자라면, 사용하신 베이스 모델(ex. Llama 3)이 어디까지가 Instruction이고, 어디서부터가 Response인지 알아야 된다고 생각합니다. 즉, 각 베이스 모델에 맞는 특정한 프롬프트가 존재하는 것인가요?
    감사합니다.

    • @teddynote
      @teddynote  Месяц назад +1

      ###instruction ~ ###Response 까지는 입력이고요. Response: 다음부터 전부 예측한 결과 입니다. end of text 와 같은 스페셜 토큰이 존재하는 이유가 gpt가 어디서 끝을 낼지 알려주는 거라고 생각하시면 됩니다!

    • @user-es9zc9kh8g
      @user-es9zc9kh8g Месяц назад

      @@teddynote
      답변 감사합니다.
      그렇다면 예를 들어, RAG용으로 파인튜닝을 진행할때 관련 chunks를 query와 함께 넣어주기 때문에 ##instruction 부분이 굉장히 길어질텐데, 이것들도 하나하나 예측하면서 response까지 예측한다는 뜻이겠군요?

    • @teddynote
      @teddynote  Месяц назад +1

      base model을 instruct 튜닝을 할 때 템플릿이 다양하게 존재할 수 있는데 만약 내가 instruct 모델을 처음 만든다면 편한 템플릿을 써도 되긴 하는데요. chatgpt처럼 멀티턴 대화 형식에 적합한 템플릿 형식이 또 별도로 있고요(여러 대화 쓰레드를 학습하는) chatml 템플릿이라는 채팅형식의 템플릿도 있고 다양하게 있습니다.

    • @teddynote
      @teddynote  Месяц назад

      @@user-es9zc9kh8g 네 지금의 chatgpt도 처음부터 끝까지 모두 예측하는 것처럼요. 맞습니다. 출력되는 모든 토큰은 모두 예측 값입니다

    • @user-es9zc9kh8g
      @user-es9zc9kh8g Месяц назад +1

      @@teddynote
      네 이해했습니다. 항상 지식 전파에 힘써 주셔서 감사합니다 :)

  • @luv8216
    @luv8216 Месяц назад +1

    좋은 영상 감사합니다! 그런데 혹시 torch를 사용하시는 이유가 있으실까요? 초보적인 질문인 것 같긴 한데 다른 파인튜닝 영상들도 대부분 torch를 사용하는 것 같아서 질문드립니다.

    • @teddynote
      @teddynote  Месяц назад +1

      이미 질문에 답이 있습니다~ 대부분의 파인튜닝 코드가 torch 기반으로 작성되어 있고 참고할 수 있는 예제가 많습니다^^ torch로 integration 도 편하구요!

    • @heejuneAhn
      @heejuneAhn 27 дней назад

      일단 실질적으로 Huggingface는 PyTorch 기반에 가깝다고 보시는게 좋읍니다.

  • @fruitmango8420
    @fruitmango8420 21 день назад +1

    맥에서 cuda가 아니더라도 mps로 pytorch 가 되던데 뭔가 파인튜닝에서 mps로 할려하면호환성문제인지 에러코드가 우수수 뜨던데 혹시 방법이 없나요? m4도 나오고 통합메모리라 32gb 모델쓰면 그래픽에서도 좋은성능 나올거같아서 휴대용 중에선 괜찮다 생각해서 맥으로 준비하고 있습니다

    • @teddynote
      @teddynote  21 день назад

      파인튜닝에서는 mps 를 미지원합니다 ㅎㅎ 쿠다가 필요해용~~ 즉 맥에서는 파인튜닝 불가합니다. torch 는 가능해요~

  • @HJ-jf4co
    @HJ-jf4co 17 дней назад +1

    안녕하세요 해당 영상보면서 파인튜닝 공부중인데 질문이있어서 댓글 남깁니다.
    원하는 데이터셋을 기반으로 베이스 모델과 병합하여 파인튜닝 모델을 생성하게 되면, 답변이 학습시킨 데이터에 많이 치우친 대답을 하게됩니다.
    기존 베이스 모델로 테스트 해봤을때 정상적으로 하던 답변도 파인튜닝 후에는 제가 학습시킨 데이터와 관련된 대답만 하게됩니다..
    제가 기대했던 파인튜닝 결과물은 기존 베이스 모델이 가지고있던 데이터 + 일부 내가 학습시킨 데이터 인데,
    제가 잘못이해하고 있었던건지 영상속 방법으로는 제가 학습시킨 데이터에 치우친 결과물만 낼 수 있는건지 ..
    아니면 제가 파인튜닝을 잘못한건지.... 답변이 가능할까요...

    • @teddynote
      @teddynote  17 дней назад

      맞습니다 극단적으로 예시를 보여드리려고 작은 데이터셋으로 ‘과적합’ 시켜서 그렇구요~ 원래 제대로 하시려면 데이터셋 보통 2~3만건 정도( 비용이 많이 들 수 있어요...) 그리고 rank 랑 alpha 는 더 작게 주셔서 모델이 한 마디로 많이 틀어지지 않도록 해주시는 것이 좋습니다.
      비용과 학습시간이 많이 드니 이 영상은 미니로 진행했습니다! 참고해 주십쇼^^

  • @kookyunghyun
    @kookyunghyun 23 дня назад +1

    16:07 부분에서 지금까지 학습및 베이스모델이 전부 라마3인데 프리셋을 알파카로 해야하는 이유가 무엇인가요?? 설명도 알파카로 사용하셔야 한다고 하시는데,.

    • @teddynote
      @teddynote  23 дня назад

      알파카로 프롬프트 템플릿 학습을 했기 때문에 추론도 동일한 프롬프트 템플릿을 사용해야 올바르게 답변합니다~

    • @teddynote
      @teddynote  23 дня назад

      애초에 학습할때의 템플릿은 자유롭게 선택이 가능합니다 대신 추론할때의 템플릿과 통일은 해야합니다

  • @user-mn1yi2xm6f
    @user-mn1yi2xm6f Месяц назад

    안녕하세요! 항상 양질의 지식 감사합니다. 제가 flash-attn 설치에 애를 먹고 있는데 혹시 window 로컬에서 해당 개발 환경을 구축해보신 경험이 있으신가요?

    • @user-mn1yi2xm6f
      @user-mn1yi2xm6f Месяц назад

      결국 어찌저찌 버전 맞춰 설치했는데, flash-attn 단독 설치에 걸린 시간만 1시간 걸렸던 것 같아요. 설치할 때 주의해야 하는 부분이 있나요? cuda까지 돌아가는 거 확인하고 설치했는데 왜 이리 오래걸린걸까요 😂😂
      unsloth의 triton은 window에서 설치가 안되나요? MVSC나 WSL을 사용하라는 글이 있던데 조언이 필요해요..

    • @teddynote
      @teddynote  Месяц назад

      제가 flash-attn 은 사용해보지 않아서요 도움드리지 못할 것 같습니다 ㅠ 죄송합니다 ㅜ

    • @user-mn1yi2xm6f
      @user-mn1yi2xm6f Месяц назад +1

      @@teddynote 항상 도움 많이 받고있습니다 감사합니다 :)

    • @teddynote
      @teddynote  Месяц назад

      @@user-mn1yi2xm6f 이번에는 도움을 못 드렸네요 ㅜ

  • @user-kv6jp1dt8s
    @user-kv6jp1dt8s Месяц назад +1

    가지고 있는 문서에서 질문과 답변을 생성해 파인튜닝을 진행해 보려고 하는데
    가지고 있는 문서의 언어 비율이 영어 70% 한국어 30%일 때라면 한국어로 파인튜닝된 모델을 사용하는 게 맞을까요?

    • @teddynote
      @teddynote  Месяц назад

      한국어가 포함되어 있다면 한국어 모델을 사용하시는 것이 더 나아 보입니다^^

  • @user-ig6oq1zg4y
    @user-ig6oq1zg4y Месяц назад +1

    안녕하세요
    해당 모델을 ollama 에 올리기 위해서 사용해야할 Modelfile 은 어떤걸 참고하면 될까요?

    • @teddynote
      @teddynote  Месяц назад +1

      alpaca 입니다^^

  • @user-df4bu1bd7s
    @user-df4bu1bd7s Месяц назад +1

    안녕하세요 지나가는 그냥 직장인입니다.
    제가 비슷한 생각으로
    Gpts를 만들고
    회사 보고규정, 보고서샘플, 매뉴얼 등을 pdf로 업로드시키고
    업로드된 파일에 근거해서 답변하라고 했는데
    할루지네이션도 많고
    보고양식에 맞지않게 대답할때도많고
    출처를 물어보니 엉뚱한페이지를 대답하는경우도 있더라구요
    그래서 포기하고있었는데
    이 방식은 저같이 비개발자도 접근이가능할까요?

    • @teddynote
      @teddynote  Месяц назад

      GPTs 는 문서 기반 QA에 한계가 있습니다 ㅜ 그래서 랭체인 도구를 사용해서 직접 구현해야 정확한 출처와 답변을 받으실 수 있구요~^^
      이 영상만으로는 완성현 개발이 나오기는 어렵고 전반적인 RAG 에 대한 공부가 조금 필요한데요. 유튜브에 업로드된 다른 영상 같이 보시면서 공부해 보시는 것을 추천 드리고요. 단기간은 아니지만 조금만 투자하셔도 성과가 나실껍니다!

    • @user-df4bu1bd7s
      @user-df4bu1bd7s Месяц назад

      @@teddynote 답변 감사합니다

  • @heejuneAhn
    @heejuneAhn 27 дней назад

    다른 건 다 잘 되는데 (merge 한 후에 다시 로딩, gguf 파일 저장 후 ollma에서 사용 등은 잘됩니다.) , Lora adaptor 만 저장한 후에 다시 로딩하여 실행할 때 여러가지 문제가 생기는데 혹시 동작하는 코드를 공유해 줄 수 있을까요? 사용한 코드는
    우선 저장은 로컬에 다음과 같이 하였구요.
    adaptor_model_path = "llama-3-8b-lora"
    peft_model.save_pretrained(adaptor_model_path)
    이후에 다시 두가지 방식으로 로딩을 했습니다. 두 가지다 문제를 발생합니다.
    from peft import PeftConfig, PeftModel
    from transformers import AutoModelForCausalLM, AutoTokenizer
    if True:
    base_model = AutoModelForCausalLM.from_pretrained(base_model_name) # not working when generated
    peft_model = PeftModel.from_pretrained(base_model, adaptor_model_path)
    else:
    from peft import AutoPeftModelForCausalLM
    peft_model = AutoPeftModelForCausalLM.from_pretrained(adaptor_model_path,
    load_in_4bit=True) # 4bit needed for GPU VRAM
    그리고 나서 제공한 코드를 함수화 하여 테스트 합니다.
    test(alpaca_prompt, peft_model, tokenizer)그
    이 두 가지 경우 모두 다음 에러가 발생하고 auto-gptq 는 0.4.2 로 업데이트 했구요 결과는 마찬가지 입니다.
    File "/home/gpt/anaconda3/envs/text2sql/lib/python3.11/site-packages/unsloth/models/llama.py", line 309, in LlamaAttention_fast_forward
    Q, K, V = self.apply_qkv(self, hidden_states)
    ^^^^^^^^^^^^^^
    File "/home/gpt/anaconda3/envs/text2sql/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1695, in __getattr__
    raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
    AttributeError: 'LlamaSdpaAttention' object has no attribute 'apply_qkv'
    '''
    좀 특이한 점은 첫번째 방법의 경우 base_model을 이전에 로딩했던 것을 그대로 사용하면 동작을 하는데. 이게건 사실상 사용할 수없는 시나리오기 때문에 의미가 없구요. 동일하게 다시 로딩을 해봐도 문제가 발생하는 것을 보면 peft_model = FastLanguageModel.get_peft_model 를 하면서 모델에 base model 자체에/에도 변화를 주는 것으로 보이는데. 이건 소스코드를 봐야 알 것 같네요.

  • @HJ-jf4co
    @HJ-jf4co Месяц назад

    Colab에서 파인튜닝 중에 모델 훈련하기 > SFTTrainer 사용 구간에서 아래에러가 발생하는데 원인과 해결방법 알 수 있을까요..ㅠㅠ
    -> NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to() when moving module from meta to a different device.

    • @teddynote
      @teddynote  Месяц назад

      혹시 코랩에 GPU 를 A100으로 설정이 되어 있는지 한 번 체크해 주세요~ 작은 거는 에러나더라구요~

    • @user-sf3zh2zg5m
      @user-sf3zh2zg5m 28 дней назад

      @@teddynote 저도 위와 같은 에러가 반복되어서, Colab-Pro 로 변경 후 사용했는데, 이상하게 자꾸 L4 로 변경되거나 A100 선택이 잘되지 않았습니다. ㅜㅜ
      더 높은 결재 plan 을 사용해야 할까요 ㅠㅠ? 아니면, Colab 말고 다른 방법으로 위 파인 튜닝을 할 수 없는지 궁금합니다 ^^
      Colab 유료 결재 서비스 질이 너무 부족합니다.

  • @user-jz7jv2ui5t
    @user-jz7jv2ui5t 10 дней назад +1

    테디노트 영상들을 로컬로 실행하려면 어느정도 사양이 되어야 하나요?

    • @teddynote
      @teddynote  9 дней назад

      로컬 모델 구동을 위해서는 GPU 가 필요하지만 GPT4, Claude API 를 사용하시는 경우 가벼운 노트북으로도 충분합니다!

  • @user-xc9rj8or9q
    @user-xc9rj8or9q Месяц назад +1

    RAG랑 파인 튜닝 중에 각각 어떤 상황에서 쓰는게 더 좋은 방향일까욤?

    • @teddynote
      @teddynote  Месяц назад +1

      자주 하시는 질문인데요! 쉽게 말해 자주 변경되는 정보는 RAG 고정된 답변 형식은 파인튜닝이 적절해 보입니다!! 그리고 굉장히 길게 매번 프롬프트를 넣어줘야 하는 경우에도 파인튜닝을 하면 입력으로 넣는 컨텍스트를 줄여볼 수 있고요. RAG로는 할루시네이션을 좀 줄이는데 사용하실 수 있어요! 비교하는 아티클이나 블로그도 꽤 많으니 한 번 살펴보시는 것도 좋습니다^^

    • @user-xc9rj8or9q
      @user-xc9rj8or9q Месяц назад +1

      @@teddynote 너무 친절할 답변 감사드립니다 ㅠ 강의 회사에 신청해서 회사계정으로 꼭 볼게요💓

    • @teddynote
      @teddynote  Месяц назад +1

      @@user-xc9rj8or9q 감사합니다~!!!

  • @pixelel1353
    @pixelel1353 Месяц назад +1

    QA데이터를 만드는 과정에서 문서를 불러오는 부분은 어디에 있는건가요?? 그리고 elements가 어디에 정의돼있는지 모르겠어요 ㅠ

    • @teddynote
      @teddynote  Месяц назад

      PDF 불러오는 코드로 불러오시면 됩니다. 다른 PDF 로더를 사용하셔도 됩니다~
      아래 코드를 참고해 주세요~
      from unstructured.partition.pdf import partition_pdf
      def extract_pdf_elements(filepath):
      """
      PDF 파일에서 이미지, 테이블, 그리고 텍스트 조각을 추출합니다.
      path: 이미지(.jpg)를 저장할 파일 경로
      fname: 파일 이름
      """
      return partition_pdf(
      filename=filepath,
      extract_images_in_pdf=False, # PDF 내 이미지 추출 활성화
      infer_table_structure=False, # 테이블 구조 추론 활성화
      chunking_strategy="by_title", # 제목별로 텍스트 조각화
      max_characters=4000, # 최대 문자 수
      new_after_n_chars=3800, # 이 문자 수 이후에 새로운 조각 생성
      combine_text_under_n_chars=2000, # 이 문자 수 이하의 텍스트는 결합
      )
      # PDF 파일 로드
      elements = extract_pdf_elements("data/SPRI_AI_Brief_2023년12월호_F.pdf")

    • @pixelel1353
      @pixelel1353 Месяц назад +1

      @@teddynote 감사합니다 ㅠㅠ 학교에서 프로젝트할 때 많은 도움받고있어요!!

    • @teddynote
      @teddynote  Месяц назад

      @@pixelel1353 감사합니다🙏

  • @vhxmtmfp
    @vhxmtmfp 27 дней назад +1

    데이터셋 생성시 instruction, input, output구조로 생성하시는데 input이 비어있네요 input의 역할은 뭘까요?

    • @teddynote
      @teddynote  26 дней назад

      instruction은 지시사항 그리고 input은 문맥이라고 이해하시면 좋습니다. 예를들어,
      Q: 대한민국의 도시를 나열해봐
      input: 서울, 부산,
      output: 대구, 광주 등등
      이런식으로 구성이 가능해요~

  • @ittubes3912
    @ittubes3912 4 дня назад +1

    안녕하세요 테디님 테디님 유튜브 영상 잘 보고 있습니다.
    다름이 아니라 테디님 github에서 파인튜닝 하는 코드로 개인 커스텀 데이터셋을 파인튜닝했는데

    학습시킨 데이터로 결과가 나오진 않는데...혹시 파인튜닝을 여러번 해야하는 걸까요?

    • @teddynote
      @teddynote  4 дня назад

      결과가 안나온다는 부분에 대해서 구체적으로 말씀해 주시면 답변 드릴 수 있을 것 같아요~

    • @ittubes3912
      @ittubes3912 4 дня назад

      a는 바보다 라고 학습시켰는데
      a는 알파벳으로 어쩌구저쩌구 이런식으로 나옵니다.
      코드는 github참고했고
      gpt한테 공유주신 코드 기반으로 허깅페이스에서 데이터셋 다운받아서 로컬에 저장한다음 다운받은 데이터셋을 불러서 파인튜닝하게 했습니다..

  • @joey1025ful
    @joey1025ful Месяц назад +1

    안녕하세요
    영상보며 따라하고 있는데
    ImportError Traceback (most recent call last)
    Cell In[11], line 1
    ----> 1 from unsloth import FastLanguageModel
    부분에서 계속 에러가 발생합니다
    unsloth 설치가 안되는거 같은데
    cuda: 12.1
    python: 3.9.0
    torch: 2.2.0+cu121
    사용 환경에서 unsloth를 어떻게 설치해야 하나요?

    • @teddynote
      @teddynote  Месяц назад

      안녕하세요? 혹시 로컬 파이썬 가상환경에서 실행하시나요? unsloth 설치 코드가 자료 안에 들어가 있는데 설치가 제대로 되었는지 확인해 보시겠어요?

    • @joey1025ful
      @joey1025ful Месяц назад

      네 가상환경에서 하고있습니다

    • @teddynote
      @teddynote  Месяц назад

      @@joey1025ful 설치하실 때 의존성이 많아서 여기 가이드 보고 버전 맞춰서 설치 진행해 주시는 것이 좋습니다~ 한 번 참고해 보세요!(cuda, torch, peft 버전)
      github.com/unslothai/unsloth

  • @heejuneAhn
    @heejuneAhn Месяц назад +1

    A few comments in following the code.
    1. an error with mismatch of peft version and unsloth, please give us the versions for the packages. ( I manually sloved the issues. No module named 'peft.tuners.lora.layer'; 'peft.tuners.lora' is not a package) (my system uses unsloth 2.0 and peft 0.5.0)
    2. model name should be full path (model_name = "unsloth/llama-3-8b-bnb-4bit", not model_name="llama-3-8b-bnb-4bit")

    • @teddynote
      @teddynote  Месяц назад

      1. you can find easy install commands @ link below
      github.com/unslothai/unsloth/tree/main#installation-instructions
      It's very hard to specify the exact version of each library due to dependencies (CUDA, Python, Torch, etc, ...) try using mamba if you haven't tried it yet
      2. thx for letting me know. I have updated the .ipynb file

    • @heejuneAhn
      @heejuneAhn 28 дней назад +1

      @@teddynote the dependent packages are quite system-dependent.
      colab-new = [
      "tyro",
      "transformers>=4.38.2",
      "datasets>=2.16.0",
      "sentencepiece",
      "tqdm",
      "psutil",
      "wheel>=0.42.0",
      "numpy",
      "protobuf

  • @Younggoolee
    @Younggoolee 26 дней назад +1

    많은 도움을 받고 있습니다. 좋은 영상 감사합니다.
    올려주신 소스 코드 실행 중 에러가 발생하는데 해결책에 조언을 구합니다.
    파인튜닝 코드 실행 중 trainer_stats = trainer.train() 에서 나는 에러입니다.
    Unsloth: Untrained tokens found, but embed_tokens & lm_head not trainable, causing NaNs.
    실행환경은 Colab pro. GPU는 L4 할당받아 실행해 보았습니다.
    도움 부탁 드립니다.

    • @Younggoolee
      @Younggoolee 26 дней назад

      아하.. 해결했습니다.
      우선 Colab pro 에서 A100할당을 받아야 하고 embed token과 lm head를 추가하면 오류가 나지 않고 모델도 잘 실행되었습니다.
      150개 연습삼아 만든 데이터로도 성능이 괜찮게 나오는 것 같습니다.

    • @vhxmtmfp
      @vhxmtmfp 25 дней назад

      혹시 데이터셋 어떻게 만드셨는지 알수있을까요? 저도 데이터셋 만들어서 해보려고하는데 결과값이 이상하게 나와서요 ㅠㅠ

    • @teddynote
      @teddynote  25 дней назад +1

      우선 한국어 파인튜닝 된 모델이 최근 업데이트 되면서 토크나이저 이슈가 있더라고요. 그래서 베이스 모델을 unsloth/llama-3-8b-bnb-4bit 로 돌려보시고요. GPU는 가용 가능하시다면 A100으로 돌려보세요^^

    • @Younggoolee
      @Younggoolee 25 дней назад

      ​@@teddynote아하 그렇군요 답변 감사합니다

    • @Younggoolee
      @Younggoolee 25 дней назад

      ​@@vhxmtmfp많이도 아니고 150개 샘플 문장에 gpt4로 답변을 라벨링하였구요
      한문장의 답변은 총4개가 나오게 했습니다
      테디님에서 알려준 것처럼 허깅에 데이터와 튜닝된 모델을 올려놓았습니다
      Younggooo/senti_data2