티스토리 뷰

728x90
반응형

GPT API를 활용한 모델 파인튜닝이나 호출 시, 입력 데이터가 얼마나 많은 토큰으로 구성되어 있는지 파악하는 것은 매우 중요합니다. 특히, fine-tuning의 경우 텍스트 데이터의 토큰 수에 따라 비용이 산정되기 때문에, CSV 파일 같은 데이터 소스를 분석하여 예상 비용을 미리 확인하는 것이 유용합니다.

 

이번 포스트에서는 파이썬의 csv 모듈과 OpenAI의 "tiktoken 라이브러리"를 활용하여 CSV 파일의 텍스트 데이터를 토큰화하고, 그 토큰 수에 따라 예상 비용을 계산하는 방법을 소개합니다.

ticktoken 경로 : https://github.com/openai/tiktoken

 

CSV를 통한 학습 토큰 조회 코드 소개

아래 코드는 CSV 파일의 모든 내용을 읽어 하나의 문자열로 변환한 후, 해당 문자열을 tiktoken 라이브러리를 통해 토큰 단위로 인코딩합니다. 그리고 총 토큰 수를 기준으로 1,000 토큰당 $0.03의 단가로 예상 비용을 산출합니다.

import csv
import tiktoken

# CSV 파일 경로 설정
csv_file_path = "data.csv"  # 실제 CSV 파일 경로로 변경하세요.

# CSV 파일 내용을 문자열로 읽어오기
csv_text = ""
with open(csv_file_path, "r", encoding="utf-8") as csv_file:
    reader = csv.reader(csv_file)
    for row in reader:
        # 각 행의 값을 쉼표로 구분하여 하나의 문자열로 합치고 줄바꿈 추가
        csv_text += ", ".join(row) + "\n"

# 사용할 모델에 맞는 인코더 선택 (예: text-davinci-003)
encoding = tiktoken.encoding_for_model("text-davinci-003")

# CSV 텍스트를 토큰으로 변환
tokens = encoding.encode(csv_text)
token_count = len(tokens)
print(f"토큰 수: {token_count}")

# 비용 계산 (예: 1,000 토큰당 $0.03)
cost_per_1000 = 0.03
estimated_cost = (token_count / 1000) * cost_per_1000
print(f"예상 비용: ${estimated_cost:.2f}")
반응형

 

tiktoken을 활용한 토큰스 조회 코드 설명

1. CSV 파일 읽기

  • CSV 파일 경로 설정:
    코드를 시작하기 전에 분석할 CSV 파일의 경로를 csv_file_path 변수에 지정합니다.
  • 파일 내용 합치기:
    csv.reader를 사용하여 CSV 파일의 각 행을 읽고, 각 행의 데이터를 쉼표로 구분한 후 줄바꿈(\n)을 추가해 하나의 긴 문자열로 결합합니다. 이렇게 함으로써 CSV 파일의 모든 내용이 하나의 텍스트로 저장됩니다.

2. tiktoken을 활용한 토큰화

  • 모델 인코더 선택:
    tiktoken.encoding_for_model("text-davinci-003")를 통해 GPT 모델에 맞는 인코더를 선택합니다. 이 인코더는 텍스트를 GPT가 이해하는 토큰 단위로 변환해 줍니다.
  • 토큰 변환 및 계산:
    encoding.encode(csv_text) 함수를 사용하여 CSV 텍스트를 토큰 리스트로 변환하고, len(tokens)로 토큰 수를 계산합니다.

3. 예상 비용 산출

  • 비용 계산 공식:
    fine-tuning 비용은 일반적으로 1,000 토큰당 일정 금액(예제에서는 $0.03)으로 산정됩니다.
    코드에서는 (token_count / 1000) * cost_per_1000 식을 통해 전체 토큰 수에 기반한 예상 비용을 계산합니다.
  • 결과 출력:
    최종적으로 토큰 수와 계산된 예상 비용을 출력하여, 사용자가 데이터의 비용 산출을 쉽게 파악할 수 있도록 합니다.

결론

이 코드는 CSV 파일 내의 데이터를 GPT 모델에서 사용하는 토큰 단위로 변환하고, 이를 통해 예상 비용을 산출하는 과정을 자동화합니다. 대량의 데이터셋을 다루는 경우, fine-tuning이나 API 호출 전에 미리 비용을 추정해보는 것은 비용 효율적인 운영을 위해 매우 중요합니다.

이와 같은 방식으로 여러분의 데이터셋을 분석하고, 실제 사용 비용을 예측하여 보다 효율적인 모델 운영 전략을 수립해 보시길 바랍니다.

 

 

2025.03.17 - [재미있는 Project] - [ChatGPT] OpenAI GPT 모델을 Fine-tuning하여 나만의 투자 전략 AI 만들기

 

[ChatGPT] OpenAI GPT 모델을 Fine-tuning하여 나만의 투자 전략 AI 만들기

GPT 모델을 활용한 투자 자동화 시스템을 구축하려면, 일반적인 프롬프트 엔지니어링만으로는 한계가 있을 수 있습니다. 특히, 특정한 투자 전략을 학습시키고 이를 일관된 방식으로 적용하려면

4ourfuture.tistory.com

 

728x90
반응형