Lama 3.1 Fine Tuning with my dataset (내 데이터셋으로 라마 파인튜닝 하는 방법)

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ธ.ค. 2024

ความคิดเห็น • 26

  • @필로소피
    @필로소피  3 หลายเดือนก่อน +4

    안녕하세요^^
    Hello
    구글 google colab 1번 링크 first link
    colab.research.google.com/drive/1a_YGlNl8n5U2SstRtFNd2CV8g8eVj-c8#scrollTo=Bq2Bd8aT0n44
    Google colab 2번 링크 second link
    colab.research.google.com/drive/1jwGg8_UWvj6KwSAklhcuVWOwmm6OFb18#scrollTo=FqfebeAdT073
    이 영상 속 PPT를 PDF로 바꾼 파일은 아래 카페에 올려놨습니다.
    자료가 도움이 되신 분들은
    이 영상에 응원의 댓글을 달아주시면 감사하겠습니다.
    좋아요와 댓글은 영상 제작에 큰 힘이 됩니다^^
    필로소피 AI 교육 네이버 카페 :
    cafe.naver.com/philosophyai/6?boardType=L

  • @ilhwankim3190
    @ilhwankim3190 3 หลายเดือนก่อน +1

    감사합니다. 지난번 업로드 해 주신 한국어 데이터셋 "korean_safe_conversation"으로 파인튜닝하는 방법 영상에 많은 도움을 받았습니다. 이번에는 My dataset으로 라마3 파인튜닝 하는 방법 영상을 올려주셨네요. 매번 좋은 영상에 도움 많이 되고 있습니다. 고맙습니다. 필로소피님. ^^

  • @USunyeong
    @USunyeong 3 หลายเดือนก่อน +1

    🥰 드디어 카페까지 생성해야 할 정도로 판이 커졌네요! 축하합니다. 오픈소스AI를 활용한 파인튜닝은 굉장히 매력적인 부분이라 생각하지만 어려웠던 부분이 있었는데 이번 영상이 그 부분을 짚어주더라구요. 천천히 따라해야겠습니다. 메일로 용기를 얻어 최근 파이썬 기초부터 공부하고 있답니다. 정말 감사합니다!!

    • @필로소피
      @필로소피  3 หลายเดือนก่อน

      @@USunyeong 늘 응원해주셔서 진심으로 감사드립니다 😊
      파인튜닝은 천천히 한 번 해보셔요~!
      파이썬 공부도 응원합니다^^
      감사합니다~!😊

  • @shihoson4666
    @shihoson4666 3 หลายเดือนก่อน

    이거 보다가 다른 영상 6개 더 먼저 보고 왔어요. 내일보구 나만의 llm만드는 작업 해볼게요 영상 너무 감사합니다

  • @MultiSeung
    @MultiSeung 3 หลายเดือนก่อน +1

    파인튜닝 두번째 강의군요. 좋은 강의 잘 볼게요^^

  • @jinsikha4431
    @jinsikha4431 3 หลายเดือนก่อน +1

    좋은 강의 감사합니다.

  • @bellmake-kl4gt
    @bellmake-kl4gt 2 หลายเดือนก่อน

    유익한 강의 감사드립니다!

  • @정재호-m5h
    @정재호-m5h หลายเดือนก่อน

    강사님 프로젝트 진행중인데
    라마3, chatgpt api 둘중 하나 또는 같이 (라마로 rag서비스 또는 파인튜닝 gpt로 좀더 자연스러운 문장 생성)
    챗봇을 만드는데 파인튜닝이나 rag로 이용한다 할때 저는 제 웹사이트에 특화된 답변을 구현하고자합니다
    특화된 응답을 얻으려곤하는데 라마3나 gpt모두 너무 잘 만들어져있어서… 차별화된 데이터를 어떻게 만들어야할까요….
    아 이거는 학습해서 나온 답변이다,,,등등

  • @bnb7462
    @bnb7462 3 หลายเดือนก่อน +3

    영상 감사해요. 한가지 질문이 있는데요. Pdf 파일을 rag을 이용하면 training 없이 원하는 질문에 대답을 잘해주는데, 여기서 소개해준 파인튜닝을 하는 이유는 뭔가요? Pdf파일로 데이타 셋을 만들고 트레이닝 시키고 굉장히 많은 리소스가 필요한걸로 보여서요. 파인튜닝이 어떤 장점이 있는지 잘 모르겠습니다. 제가 아직 배우는 단계라 큰 그림을 잘 못보고 하는 질문일수도 있어오. 감사합니다.

    • @필로소피
      @필로소피  3 หลายเดือนก่อน +3

      안녕하세요 :)
      저도 AI에 관심이 있어서 AI에 관해서 이것 저것 공부를 하고 있는 상황이라서
      제가 아는 선에서 말씀을 드리겠습니다.
      우선, 일리가 있는 말씀입니다. 간단한 PDF 정도의 자료라면 파인튜닝 보다 RAG가 나을 수도 있겠습니다.
      다만, 저는 fine tuning 과정 자체를 공부해보고 싶었었고, 공부한 내용을 공유하고자 영상으로 올린 것입니다^^
      그리고 Fine tuning과 RAG는 비슷한 점도 있지만 차이점도 있습니다.
      비슷한 점 : 데이터와 특정 도메인 지식을 적용한다
      차이점 : Fine tuning은 모델 자체의 행동을 특정 짓고 좁히기 때문에 더 예측 가능한 결과를 얻을 수 있고, 스타일과 톤 그리고 형식을 내재화 시킬 수 있습니다. 대량의 도메인 특화 데이터가 있을 때 효과적입니다.
      RAG는 실시간 외부 데이터 소스와 연결하여 모델 재학습 없이 새로운 정보를 추가할 수 있습니다.
      조금 더 자세히 말씀드리자면,
      Fine tuning은 특정 도메인에 대해 깊은 이해와 특화된 지식을 모델 자체에 학습시키는 것입니다.
      예를 들어, 대형 병원이나 제약회사에서 방대한 의료 데이터를 바탕으로 질병 진단이나 신약 개발 등에 Fine tuning을 활용할 수 있겠죠. 의료 분야 뿐아니라 법률 분야, 금융 분야 등 대량의 도메인 특화 데이터가 있을 때 효과적이라고 합니다.
      비유하자면, Fine tuning은 자동차의 엔진 자체를 특정 목적에 맞게 개조해 버리는 것입니다. 일반 자동차를 레이싱 자동차로 튜닝하는 것처럼 기본 AI 모델을 의료, 법률 등 특정 분야에 특화되도록 AI 모델 자체를 조정하는 것입니다. 즉, 파인튜닝은 AI 모델의 가중치 자체를 조정해서 이전과는 다른 AI 모델로 튜닝하는 것입니다.
      이를 통해 성능은 크게 향상되지만, 한 번 파인튜닝하면 쉽게 바꾸기 어렵고 비용이 많이 듭니다.
      이에 반해, RAG (Retrieval Augmented Generation)은 자동차 자체를 튜닝하는 것은 아니고, 자동차에 최신 내비게이션을 다는 것과 비슷합니다. 즉, 기본 AI 모델을 그대로 쓰되, 최신 외부 데이터를 통해 최신 정보를 확인하고 답을 주는 것입니다.
      내비게이션이 실시간 교통 정보를 받아서 최적의 경로를 제시하는 것처럼, RAG는 최신 데이터를 실시간으로 참조하여 답변을 생성합니다. 새로운 정보를 쉽게 추가할 수 있지만, 처리 속도가 조금 느릴 수도 있습니다.
      그렇기 때문에 RAG는 실시간 시장 데이터를 활용하는 투자 자문이나 경제 분석에 유용하게 활용될 수 있겠죠.
      결론 : 어떤 목적으로 AI를 사용하느냐에 따라 누군가에는 Fine tuning이 유용할 수도 있고, 누군가에게는 RAG가 유용할 수도 있고, 누군가는 이 두 개를 결합해서 쓰기도 합니다.
      Fine tuning - 차량의 엔진을 개조하는 것처럼 아예 다른 맞춤형 AI로 만드는 것 (일관성 확보 가능)
      RAG - 차량은 그냥 두고 내비게이션만 다는 것처럼, AI 모델은 그냥 놔두고 최신 데이터를 실시간으로 활용하는 것 (최신성 확보 가능)
      감사합니다 :)

  • @sofarsogood8020
    @sofarsogood8020 3 หลายเดือนก่อน +1

    감사합니다.

    • @필로소피
      @필로소피  3 หลายเดือนก่อน

      저도 감사합니다 😊

  • @mldwmlq
    @mldwmlq 2 หลายเดือนก่อน

    안녕하세요! 영상 너무 잘봤습니다.
    궁금한게 있어서 댓글 달아봅니다.
    데이터셋을 만들 때, 질문 답변 2열형식 에 추가로
    특정한 상황 (ex: 인사, 비즈니스 결제) 등 상황에 맞는 데이터셋을 설계할 수 있나요?
    그럴러면 열의 1행인 제목이 카테고리가 되는것인지 궁금 합니다.
    단순 답변을 학습 시키지 않고, 상황 별 답변을 구체적으로 주고싶어서요!

  • @김시청-s5c
    @김시청-s5c 3 หลายเดือนก่อน +2

    리얼실무😢
    공문서 기본 보고서 쓰는 법을 알려주세요
    1. 추진배경
    -
    -
    2. 추진목적
    -
    -
    3. 추진내용
    -
    -
    4. 기대효과
    -
    -
    5. 행정사항
    -
    -
    *** 문구를 색다르게 각색 하는법***
    전년도 문서를 다른 느낌으로 만드는 프롬프트 꼭 알려주세요

    • @필로소피
      @필로소피  3 หลายเดือนก่อน +1

      @@김시청-s5c 네^^ 위와 관련하여 영상을 한 번 만들어 보겠습니다! 😊

    • @필로소피
      @필로소피  3 หลายเดือนก่อน +1

      영상 올렸습니다 :)
      영상 제목은
      업무 문서 AI로 각색하기 입니다 ^^
      감사합니다!

  • @짐-h2d
    @짐-h2d 2 หลายเดือนก่อน

    코랩말고 로컬환경에서 저 코드로 파인튜닝후에 ollama에서 실행시킬수있는건가요 ?

  • @sangyeulhan
    @sangyeulhan 3 หลายเดือนก่อน +1

    csv 파일 Response 내용에 콤마(,)가 포함되어, 데이터프레임 df 못만들고 계시다면...
    아래 코드 참고하시기 바랍니다.
    # 4. 업로드된 CSV 파일 읽기
    file_name = next(iter(uploaded))
    data = io.BytesIO(uploaded[file_name])
    # 데이터를 줄 단위로 읽고 첫 번째 콤마를 기준으로 분리
    rows = []
    with io.TextIOWrapper(data, encoding='utf-8') as f:
    # 첫 라인은 헤더이므로 건너뜁니다
    next(f)
    for line in f:
    # 첫 번째 콤마만을 기준으로 split
    parts = line.split(',', 1)
    if len(parts) == 2: # 올바른 데이터 형식인 경우에만 추가
    # 두 번째 항목(Response)에서 개행 문자 제거
    parts[1] = parts[1].replace('
    ', '').strip()
    rows.append(parts)
    # DataFrame으로 변환
    df = pd.DataFrame(rows, columns=["input", "Response"])
    # 결과 확인
    print(df.head())

    • @필로소피
      @필로소피  3 หลายเดือนก่อน

      @@sangyeulhan 멋지십니다~^^
      감사합니다 😊

  • @darkmatter9583
    @darkmatter9583 3 หลายเดือนก่อน +1

    how do you create your dataset?

    • @필로소피
      @필로소피  3 หลายเดือนก่อน

      Thank you so much for taking an interest in the video! 😊
      To help you out, I've pinned two Colab links in the top comment.
      The first Colab link guides you through the process of creating your own dataset.
      Here’s what you need to do:
      First, prepare your CSV file with two columns-one for "input" and one for "response."
      After clicking on the first link, make a copy version. Then you can revise codes.
      And please upload your CSV file to the Colab notebook.
      The tool will then convert your CSV file into a JSONLines file, which is a common format for training AI models.
      Once you've got your JSONLines file, you can enter your Hugging Face token address, dataset address into the tool and upload the file directly to Hugging Face.
      Then, take this newly created dataset and go to the second Colab link.
      By going to the second Colab link, you can fine-tune LLaMA 3.1 using the dataset we just uploaded to Hugging Face.
      Although the explanation in the video is in Korean, I've included screenshots in the PPT that should help guide you through the process.
      Feel free to give it a try, and if you have any more questions, please let me know. I'll be happy to help!😊

  • @전현빈-j1p
    @전현빈-j1p 3 หลายเดือนก่อน

    fine tuning 한 welfare_expert를 만들었는데 다시 :59처럼 실습을 하는 이유는 무엇인가요?

    • @필로소피
      @필로소피  3 หลายเดือนก่อน

      안녕하세요~!^^
      :59 는 영상의 00:59 지점을 의미하시는 걸까요?
      어느 지점을 말씀하시는지 알려주시면 답변 드리겠습니다~!

  • @datastudy-s5s
    @datastudy-s5s 3 หลายเดือนก่อน

    혹시 학습한 모델을 코랩에서 바로 불러와서 사용할 수 있는 방법도 알려주실 수 있을까요?

    • @필로소피
      @필로소피  3 หลายเดือนก่อน +1

      안녕하세요 :)
      # 뒤의 주석 부분을 제외하고
      이렇게 실행해보시면 컴퓨터에 설치된 gguf를 실행해보실 수 있을 거 같습니다.
      감사합니다! :)
      # 1. GGUF 파일 업로드
      from google.colab import files
      uploaded = files.upload()
      # 업로드된 파일 이름 확인 (예: 'my_finetuned_model.gguf')
      gguf_filename = list(uploaded.keys())[0]
      # 2. 필요한 라이브러리 설치
      !pip install llama-cpp-python
      # 3. 모델 로드 및 사용
      from llama_cpp import Llama
      # GGUF 파일로 모델 로드
      llm = Llama(model_path=gguf_filename)
      # 모델 사용 예시
      prompt = "Hello, how are you?"
      output = llm(prompt, max_tokens=32, stop=["Q:", "
      "], echo=True)
      print(output['choices'][0]['text'])