Skip to content

비즈니스 및 개인용 ChatGPT 훈련 방법

Updated on

인공지능(AI)은 다양한 분야에서 혁명을 일으켰으며, 커뮤니케이션 분야에도 영향을 미쳤습니다. OpenAI에서 개발한 다양한 AI 모델 중에서도 ChatGPT는 뛰어난 언어 이해 능력으로 인기를 끌고 있습니다. 이 가이드는 맥OS에서 사용자 지정 데이터를 사용하여 ChatGPT를 효과적으로 훈련하는 방법을 상세히 안내합니다.

자체 AI 기반 챗봇을 만드는 것이 이전보다 쉬워졌습니다. OpenAI의 ChatGPT를 사용하면 특정 요구에 맞춤화된 사용자 지정 데이터를 사용하여 언어 모델을 훈련할 수 있습니다. 이 가이드를 마칠 때쯤에는 설정하는 방법, 데이터를 준비하는 방법, 챗봇을 세밀하게 조정하는 방법에 대한 작업 지식을 보유하게 될 것입니다.

방법 1: 온라인 도구를 사용하여 ChatGPT 훈련하기

CustomGPT.ai를 사용하여 ChatGPT 훈련하기

CustomGPT.ai는 사용자의 데이터로 ChatGPT를 훈련하는 과정을 간편화하는 온라인 플랫폼입니다. 이를 통해 기술적 배경 지식이 없는 사용자도 코딩이나 데이터베이스 작업 없이 훈련을 진행할 수 있습니다. CustomGPT.ai를 사용하는 방법은 다음과 같습니다:

  1. CustomGPT.ai (opens in a new tab) 사이트를 방문하여 새 프로젝트를 생성합니다. 원하는대로 이름을 지정할 수 있습니다.
  2. 웹사이트의 사이트맵 URL을 입력합니다. 이후 플랫폼은 사이트맵에서 모든 페이지를 크롤링할 준비를 합니다.
  3. 시스템이 모든 페이지를 크롤링하는 것을 기다립니다. 웹사이트의 페이지 수에 따라 최대 1시간까지 소요될 수 있습니다.
  4. 크롤링 프로세스가 완료되면 사용자 정의 챗봇을 생성할 수 있습니다. 챗봇은 모든 페이지를 읽고 내용을 이해한 후 사용자와 상호작용할 준비가 됩니다.

ChatGPT School을 사용하여 ChatGPT 훈련하기

ChatGPT School은 사용자의 데이터로 ChatGPT를 훈련할 수 있는 또 다른 플랫폼입니다. 온라인 강의와 같은 교육 콘텐츠에 특히 유용합니다. 이를 사용하는 방법은 다음과 같습니다:

  1. ChatGPT School (opens in a new tab) 사이트를 방문하여 새 프로젝트를 생성합니다.
  2. CustomGPT.ai와 마찬가지로 웹사이트의 사이트맵 URL을 입력해야 합니다. 이후 플랫폼은 사이트맵에서 모든 페이지를 크롤링할 준비를 합니다.
  3. 시스템이 모든 페이지를 크롤링하는 것을 기다립니다. 웹사이트의 페이지 수에 따라 최대 1시간까지 소요될 수 있습니다.
  4. 크롤링 프로세스가 완료되면 사용자 정의 챗봇을 생성할 수 있습니다. 챗봇은 모든 페이지를 읽고 내용을 이해한 후 사용자와 상호작용할 준비가 됩니다.

방법 2: 사용자 정의 언어 모델을 빌드하여 ChatGPT 훈련하기

ChatGPT 훈련을 위한 환경 설정하기

단계 1: Python 설치하기

시작하기 전에 Python 3.0+가 필요합니다. 설치되어 있는지 확인하기 위해 터미널에서 다음 명령을 실행해보는 것이 좋습니다:

python3 --version

명령을 실행한 후 터미널에 버전이 표시되면 이미 Python 3이 설치된 것입니다. 이 경우 이 단계를 건너뛰어도 됩니다. "명령을 찾을 수 없음" 오류가 표시된다면 설치를 진행하시기 바랍니다.

다음 링크를 방문하여 Python 설치 프로그램을 다운로드합니다: https://www.python.org/downloads/ (opens in a new tab)

설치가 완료되면 위의 명령을 다시 실행하면 Python의 버전이 출력될 것입니다.

단계 2: Pip 업그레이드하기

Python에는 pip가 미리 설치되어 있지만 구버전을 사용하고 있다면 최신 버전으로 업그레이드하는 것이 좋습니다. pip는 Python용 패키지 관리자로 PHP의 composer와 유사한 역할을 합니다. 다음 명령을 사용하여 업그레이드할 수 있습니다:

python3 -m pip install -U pip

pip가 이미 설치되어 있는 경우 "Requirement already satisfied: pip in [위치]"와 같은 경고 메시지가 출력됩니다. 최신 버전의 pip가 설치되지 않았다면 이 명령을 실행하여 설치할 수 있습니다. 다음 명령을 실행하여 pip가 올바르게 설치되었는지 확인할 수 있습니다:

pip3 --version

버전과 위치가 나타날 것입니다.

ChatGPT 훈련을 위한 라이브러리 설치하기

실제 훈련 과정으로 진입하기 전에 몇 가지 라이브러리를 설치해야 합니다. Mac의 Terminal 애플리케이션을 열고 다음 명령을 하나씩 실행합니다:

첫 번째 명령은 OpenAI 라이브러리를 설치합니다:

pip3 install openai

다음으로 LlamaIndex라고도 하는 GPT 인덱스를 설치합니다. 이 인덱스는 LLM이 외부 데이터, 즉 지식 베이스에 연결할 수 있게 합니다.

LlamaIndex의 작동 방식과 사용 방법에 대한 자세한 내용은 LlamaIndex 관련 문서에서 확인할 수 있습니다.

pip3 install gpt_index

설치가 완료되면 다음 명령을 실행합니다:

pip3 install PyPDF2

이것은 Python 기반의 PDF 파싱 라이브러리로, 모델에 PDF 파일을 제공하는 경우 필요합니다.

마지막으로 다음 명령을 실행합니다:

pip3 install gradio

이는 AI ChatGPT와 상호작용할 수 있는 간단한 UI를 생성합니다.

ChatGPT 훈련을 위한 OpenAI 키 가져오기

스크립트에 진입하기 전에 OpenAI에서 API 키를 가져와야 합니다. OpenAI API (opens in a new tab)로 이동합니다. 이미 로그인하지 않은 경우 로그인하라는 메시지가 표시됩니다. 그런 다음 "새 비밀 키 생성"을 클릭하여 스크립트용 키를 생성합니다.

한 번 생성된 키는 다시 볼 수 없습니다. 추후에 액세스하기 위해 키를 복사하여 안전한 위치에 저장해야 합니다.

ChatGPT 훈련을 위한 데이터 준비하기

'데이터'라는 새 디렉토리를 원하는 곳에 생성한 후 PDF, TXT 또는 CSV 파일을 넣으세요. 원하는 경우 여러 파일을 추가할 수 있지만, 추가하는 데이터가 많을수록 토큰 사용량도 더 많아집니다. 무료 계정은 사용할 수 있는 토큰으로 18달러가 주어집니다.

ChatGPT 훈련을 위한 스크립트 생성하기

모든 것이 준비된 상태에서 다음 단계는 사용자 지정 데이터로 챗봇을 훈련하기 위한 Python 스크립트를 생성하는 것입니다. 위에서 생성한 '데이터' 디렉토리 내의 파일을 사용하고 JSON 파일을 생성합니다.

원하는 텍스트 편집기를 사용하여 파일을 생성할 수 있습니다. Mac은 TextEdit을 기본으로 제공합니다. 그렇지 않은 경우 Visual Studio Code를 사용하면 더욱 좋습니다.

새 페이지를 만들고 다음 코드를 복사합니다:

from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import sys
import os
 
os.environ["OPENAI_API_KEY"] = ''
 
def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 512
    max_chunk_overlap = 20
    chunk_size_limit = 600
 
    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
 
    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs))
 
    documents = SimpleDirectoryReader(directory_path).load_data()
 
    index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)
 
    index.save_to_disk('index.json')
 
    return index
 
def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response
 
iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="텍스트를 입력하세요"),
                     outputs="text",
                     title="나의 AI 챗봇")
 
index = construct_index("docs")
iface.launch(share=True)

복사한 후 저장하기 전에 코드에 OpenAI 키를 추가해야 합니다. 코드에서 OPEN_API_KEY 변수에 유의하세요. 앞서 작성한 OpenAI 키를 인용부호 사이에 복사한 다음 다음과 같이 코드에 붙여넣기하세요:

os.environ["OPENAI_API_KEY"] = '키를_여기에_붙여넣으세요'

그런 다음 'app.py'라는 확장자로 파일을 저장하며 '데이터' 디렉토리가 위치한 곳과 동일한 위치에 저장합니다.

스크립트 실행하기

이제 모든 준비가 마무리되었으므로 스크립트를 실행하고 마법이 벌어지는 것을 확인할 수 있습니다.

'app.py'와 '데이터' 디렉토리가 있는 위치로 이동하십시오. 터미널을 열고 다음 명령을 실행합니다:

cd /경로/파일이_위치한_경로

그런 다음 Python 파일을 실행합니다:

python3 app.py

이 명령을 실행하면 사용자 지정 챗봇이 훈련되기 시작합니다. 데이터를 얼마나 많이 제공했느냐에 따라 시간이 걸릴 수 있습니다. 완료되면 간단한 UI를 사용하여 응답을 테스트할 수 있는 링크가 출력됩니다.

위에서 출력된 로컬 URL(http://127.0.0.1:7860)을 브라우저에서 열고 사용자 정의 훈련된 챗봇을 테스트할 수 있습니다. 위의 포트 번호는 다를 수 있습니다.

왼쪽 창에 질문을 입력하면 오른쪽 영역에 응답이 표시됩니다. 질문은 토큰을 소비하므로 질문을 많이 하면 OpenAI 계정에서 사용되는 토큰도 그만큼 많이 소비됩니다. 훈련도 데이터를 많이 제공하는 만큼 토큰을 사용합니다.

더 많거나 다른 데이터로 훈련하려면 CTRL + C를 사용하여 종료한 후 파일을 변경하고 다시 Python 파일을 실행하면 됩니다.

📚

결론

사용자 지정 데이터로 ChatGPT를 훈련하면 특정 요구에 맞는 챗봇을 만들 수 있습니다. Mac에서 Python 라이브러리를 사용하거나 CustomGPT.ai와 ChatGPT School과 같은 온라인 플랫폼을 활용하거나 ChatGPT AI 자동화 그룹과 같은 커뮤니티에 참여하는 등 다양한 방법으로 챗봇의 기능을 사용자 정의하고 향상시킬 수 있습니다. 이 가이드에서 제공된 상세한 단계와 예시를 따라가면 강력한 AI 기반 챗봇을 만들기 위한 중요한 기반을 마련할 수 있습니다.

자주 묻는 질문

직접 ChatGPT 모델을 훈련할 수 있나요?

예, 직접 ChatGPT 모델을 훈련할 수 있습니다. 이 가이드에서는 Mac에서 Python 라이브러리를 사용하여 이 작업을 수행하는 방법에 대해 자세히 설명합니다. 또한 CustomGPT.ai와 ChatGPT School과 같은 온라인 플랫폼을 사용하여 과정을 간소화할 수 있습니다.

PDF로 ChatGPT를 훈련할 수 있나요?

예, ChatGPT는 PDF로 훈련할 수 있습니다. PyPDF2와 같은 Python 라이브러리를 사용하여 PDF 파일을 파싱하고 데이터를 모델에 제공할 수 있습니다.

ChatGPT를 훈련하기 위해 어떤 데이터가 사용되었나요?

ChatGPT는 다양한 인터넷 텍스트 데이터로 훈련되었습니다. 그러나 OpenAI는 사용된 개별 데이터세트의 구체적인 내용을 공개하지 않았습니다. 사용자 정의 데이터로 ChatGPT 모델을 훈련하여 특정 요구에 맞게 맞춤화할 수 있습니다.

챗봇을 훈련할 수 있나요?

예, 챗봇을 훈련할 수 있습니다. 이 가이드에서는 ChatGPT와 사용자 정의 데이터를 사용하여 챗봇을 훈련하는 방법에 대해 자세히 설명합니다. 이 과정에는 환경 설정, 데이터 준비 및 Python 스크립트 실행이 포함됩니다.

📚