본문 바로가기
  • 컴공생의 공부 일기
  • 공부보단 일기에 가까운 것 같은
  • 블로그
Club|Project/카카오테크 부트캠프 | AI

🦜카부캠 앵무말(Parrotalk) : 파인튜닝 모델 성능 측정

by 정람지 2024. 12. 2.

으앗 이경엽 멘토님 뒤풀이 놀러갈까 했는데 왜 이렇게 본격적이지??

언니오빠들도 다 안 간다고 하고

ㅠ 가지말까


- 파인튜닝된 모델에 정제한 validation data를 보내서 답변을 얻은 후

- data 안에서 context랑 question, 답변을 answer으로 준비한 프롬프트에 넣어서 gpt 4.o에 쏘고

- 평가용 json을 context, question, answer, evaluation_score(llm 성능 측정 숫자)으로 구성해서 반환

의 계획!

 

바텀 업 디바이드앤컨커 간다

222

 

평가 json 반환기랑 LLM 평가 점수 반환기는 재활용


튜닝 모델 답변 반환기

from transformers import AutoTokenizer, AutoModelForQuestionAnswering
import torch
from transformers import AutoTokenizer

# 베이스 모델에서 토크나이저 로드
fine_tuned_tokenizer = AutoTokenizer.from_pretrained("microsoft/deberta-v3-base")

fine_tuned_model_path = "results/checkpoint-12771" 

# 모델 로드
fine_tuned_model = AutoModelForQuestionAnswering.from_pretrained(fine_tuned_model_path)

def get_fineTuning_model_answer(context, question):
    
    # 입력 데이터 토큰화
    inputs = fine_tuned_tokenizer(question, context, return_tensors="pt")
    
    # 대답받기
    outputs = fine_tuned_model(**inputs)
    answer_start_index = torch.argmax(outputs.start_logits)
    answer_end_index = torch.argmax(outputs.end_logits) + 1
    
    # 답변 토큰 문자열로 변환
    answer = fine_tuned_tokenizer.convert_tokens_to_string(
        fine_tuned_tokenizer.convert_ids_to_tokens(inputs["input_ids"][0][answer_start_index:answer_end_index])
    )
    
    return answer

잠깐...

토크나이저가 없는데

그냥 베이스 모델 거 쓰기


잠깐!!!!

개망했다

어디서부터잘못된걸까

애기야....

해 달라는 거 다 해 줬잖아

취향인 토크나이저 맞춰주고 고급gpu도 태워줬잖아!!!

어떡하냐

 

어쩔수없지

차차 고쳐보는것으로하고

시간이 임박했으니

꼼수 gpt로 일단 돌려보기!

끼얏호


https://platform.openai.com/docs/models/continuous-model-upgrades

음..

와라 터보 녀석

from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
import LLMEvaluationPrompt
import os,sys

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../../")))

import secret

AI_model = ChatOpenAI(
    model="gpt-3.5-turbo",
    temperature=1, 
    max_tokens = 1024,
    openai_api_key = secret.openai_api_key
)


def get_gpt_model_answer(context, question):
    
    formatted_messages = "'"+ context+"' 의 상황에서 '" + question + "' 뒤에 올 말을 한 줄로 말하세요."
    response = AI_model.invoke(formatted_messages)
        
    parser = StrOutputParser()
    gpt_model_answer = parser.parse(response)
    
    return gpt_model_answer.content

아...끝내줍니다..

일단 아름다운극적그래프 이걸로 통계를 내본 후에

저 파인깅이랑 면담을..


요금 확인의 시간

 


아이거해보까?

아빠가 날 대상이라고 부르기 시작했다 상금을 노리는 것이 분명해

념년ㅁ훔

아빠가준걸루?