>  기사  >  기술 주변기기  >  20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.

20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.

王林
王林앞으로
2023-04-20 19:07:182350검색

작성자 Cui Hao

리뷰어 | Chonglou

Abstract 혁신적인 기술 업그레이드, ChatGPT 4.0의 출시는 전체를 충격에 빠뜨렸습니다. AI 산업. 이제 컴퓨터는 일상적인 자연어 질문을 인식하고 답변할 수 있을 뿐만 아니라, ChatGPT는 업계 데이터를 모델링하여 보다 정확한 솔루션을 제공할 수도 있습니다. 이 기사에서는 ChatGPT의 아키텍처 원칙

개발 전망에 대한 심층적인 이해를 제공하며 ChatGPT의 API를 사용하여 업계 데이터를 학습하는 방법도 소개합니다. 이 새롭고 유망한 분야를 함께 탐구하여 AI의 새로운 시대를 만들어 갑시다. ChatGPT 4.0 출시​

ChatGPT 4.0이 공식 출시되었습니다! 이 ChatGPT 버전은 이전 ChatGPT 3.5와 비교하여 혁신의 도약과 한계를 소개합니다. 모델 성능과 속도가 크게 향상되었습니다

. ChatGPT 4.0이 출시되기 전에 많은 사람들이 ChatGPT에 관심을 갖고 자연어 처리 분야에서 그 중요성을 깨달았습니다. 그러나 3.5 및 이전 버전에서는 ChatGPT의 학습 데이터가 주로 일반 분야의 언어 모델에 집중되어 특정 산업과 관련된 콘텐츠를 생성하기 어렵기 때문에 ChatGPT의 한계가 여전히 존재합니다. 그러나 ChatGPT 4.0이 출시되면서 점점 더 많은 사람들이 이를 사용하여 자신의 산업 데이터를 훈련하기 시작했으며 다양한 산업에서 널리 사용되었습니다. 점점 더 많은 사람들이 ChatGPT에 주목하게 됩니다. 다음으로, 산업 데이터 교육에 있어 ChatGPT의 아키텍처 원리, 개발 전망 및 적용에 대해 소개하겠습니다. ChatGPT의 기능​

ChatGPT

은 자연어 처리 기술인 딥 러닝 신경망을 기반으로 하며, 그 원리는 사전 훈련된 대형을 사용하는 것입니다. -규모 언어 모델 기계가 자연어를 이해하고 생성할 수 있도록 텍스트를 생성합니다. ChatGPT의 모델 원리는 비지도 언어 모델링 기술을 사용하여 훈련되어 다음 단어의 확률 분포를 예측하여 연속 텍스트를 생성하는 Transformer 네트워크를 기반으로 합니다. 사용되는 매개변수에는 네트워크의 레이어 수, 각 레이어의 뉴런 수, 드롭아웃 확률, 배치 크기 등이 포함됩니다. 학습 범위에는 일반 언어 모델과 도메인별 언어 모델이 포함됩니다. 도메인 일반 모델을 사용하여 다양한 텍스트를 생성할 수 있는 반면, 도메인 특정 모델은 특정 작업에 맞게 미세 조정하고 최적화할 수 있습니다. OpenAI는 대규모 텍스트 데이터를 GPT-3의 교육 데이터로 사용합니다. 구체적으로 그들은 45TB가 넘는 영어 텍스트 데이터와 웹 텍스트, 전자책, 백과사전, 위키피디아, 포럼, 블로그 등을 포함한 일부 기타 언어 데이터를 사용했습니다. 또한 Common Crawl, WebText, BooksCorpus 등과 같은 매우 큰 데이터 세트도 사용했습니다. 이러한 데이터 세트에는 수조 개의 단어와 수십억 개의 다양한 문장이 포함되어 있어 모델 학습을 위한 매우 풍부한 정보를 제공합니다.

알아야 할 내용이 너무 많기 때문에 사용되는 컴퓨팅 파워도 상당합니다.

ChatGPT는 많은 컴퓨팅 성능을 소비하며 훈련을 위해 많은 GPU 리소스가 필요합니다. 2020년 OpenAI의 기술 보고서에 따르면 GPT-3는 훈련 중에 약 175억 개의 매개변수와 28,500개의 TPU v3 프로세서를 소비했습니다.

전문 분야에서 ChatGPT의 적용은 무엇인가요?

위의 소개에서, 우리는 chatgpt가 강력한 기능을 가지고 있지만 엄청난 양의 컴퓨팅 및 리소스 소비, 교육, 훈련이 필요하다는 것을 알고 있습니다. 대형 언어 모델에는 비용이 많이 듭니다. 하지만 그렇게 높은 비용으로 생산되는 AIGC 도구 에는 일부 전문 분야에 대한 한계 , 지식이 있습니다. 참여하지 않았습니다. 예를 들어 의료 또는 법률과 같은 전문 분야의 경우 ChatGPT는 정확한 답변을 생성할 수 없습니다. ChatGPT의 학습 데이터는 인터넷상의 일반적인 말뭉치에서 나온 것이며, 이러한 데이터에는 특정 특정 분야의 전문 용어와 지식이 포함되어 있지 않기 때문입니다. 따라서 ChatGPT가 특정 전문 분야에서 더 나은 성능을 발휘하려면 해당 분야의 전문 말뭉치를 훈련에 사용해야 합니다. 전문 분야를 가르칠 것입니다 "ChatGPT를 배워보세요. 그러나 ChatGPT는 우리를 실망시키지 않았습니다. ChatGPT를 특정 산업에 적용하려면 먼저 해당 산업의 전문 데이터를 추출하고 전처리를 수행해야 합니다. 구체적으로 데이터 정리, 중복 제거, 세분화, 라벨링 등 일련의 프로세스를 수행해야 합니다. 이후 처리된 데이터는 ChatGPT 모델의 입력 요구 사항을 충족하는 데이터 형식으로 형식화되고 변환됩니다. 그런 다음 ChatGPT의 API 인터페이스를 사용하여 처리된 데이터를 훈련용 모델에 입력할 수 있습니다. 훈련 시간과 비용은 데이터 양과 컴퓨팅 성능에 따라 달라집니다. 학습이 완료된 후 모델을 실제 시나리오에 적용하여 사용자 질문에 답할 수 있습니다. ChatGPT를 사용하여 전문적인 도메인 지식을 훈련하세요! ​사실 전문 분야에서 지식 기반을 구축하는 것은 어렵지 않습니다. 구체적인 작업은 산업 데이터를

질문 및 답변 형식으로 변환하는 것입니다 , 그리고 질문과 답변 형식은

NLP(자연어 처리) 기술을 통해 모델링되어 질문에 답변합니다. OpenAI의 GPT-3 API 사용(GPT3 을 예로 사용) 질문 및 답변 모델을 만들 수 있으며 몇 가지 예만 제공하면 됩니다. 귀하가 제공한 질문을 바탕으로 작업하면 답변이 생성됩니다. GPT-3 API를 사용하여 질문 및 답변 모델을 만드는 대략적인 단계는 다음과 같습니다.

20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.


  1. 데이터 수집: 여기에서는 인터넷을 통해 업계 관련 정보를 크롤링하고 포럼, Q&A 등에 집중할 수 있으며, 제품 매뉴얼, 유지 관리 등 업계 문서에서도 단서를 얻을 수 있습니다. 매뉴얼 등 콘텐츠 제품. 구체적인 데이터 수집 방법은 여기에서 확장되지 않습니다. 다음 예에서는 모두 텍스트로 처리됩니다. 즉, 소위 업계 데이터가 문자열로 처리되어 프로그램에 제공됩니다.
  2. 질문 및 답변 형식으로 변환: GPT는 지능형 질문 및 답변 도구이므로 지식을 질문 및 답변 형식으로 변환하여 GPT에 입력해야 합니다. 텍스트를 질문과 답변으로 변환하는 방법은 나중에 소개하겠습니다.
  3. GPT를 통한 교육: 이 단계는 GPT의 Fine-Tunning을 통해 입력을 모델링하는 것, 즉 이 지식에 대한 모델을 생성하는 것입니다.
  4. 모델 적용: 모델링이 완료된 후 적용할 수 있습니다. 즉, 모델 내용에 대해 질문합니다. 전체 프로세스는
  5. 계획을 호출해야 합니다. 각 계획은 다양한 기능과 API 액세스를 제공하며 가격도 다릅니다.

이 글의 초점이 아니기 때문에 여기서는 자세히 설명하지 않겠습니다. 데이터 세트 만들기​위 단계에서 2단계를 질문 및 답변 형식으로 변환하는 것이 우리에게는 어려운 일입니다.

GPT에 가르쳐야 할 인공 지능의 역사에 대한 도메인 지식

이 있다고 가정합니다. , 그리고 이 지식을 관련 질문에 답하는 모델로 변환했습니다. 그런 다음 다음 형식으로 변환해야 합니다:

  • 질문: 인공지능의 역사는 무엇인가요? 답변: 인공 지능은 1950년대에 컴퓨터가 인간처럼 생각하고 행동할 수 있도록 하는 방법을 연구하는 것을 목표로 하는 컴퓨터 과학의 한 분야로 시작되었습니다. 질문: 현재 가장 발전된 인공지능 기술은 무엇인가? 답변: 현재 사용 가능한 가장 발전된 인공지능 기술 중 하나는 딥러닝입니다. 딥러닝은 대량의 데이터를 학습하고 그로부터 특징과 패턴을 추출할 수 있는 신경망 기반 알고리즘입니다.
  • 물론 질의응답 형식으로 정리하기에는 부족하고, GPT가 이해할 수 있는 형식이어야 합니다. , 아래와 같이 :


무엇입니까? ? 인공지능(Artificial Intelligence)은 1950년대에 시작되었으며 컴퓨터가 인간처럼 생각하고 행동할 수 있도록 하는 방법을 연구하는 것을 목표로 하는 컴퓨터 과학의 한 분야입니다. n

현재 가장 발전된 인공지능 기술은 무엇인가요? 현재 가장 발전된 인공지능 기술 중 하나는 딥러닝(Deep Learning)인데, 딥러닝은 대량의 데이터를 훈련하고 그로부터 특징과 패턴을 추출할 수 있는 신경망 기반 알고리즘이다. n​
  • 사실 저는 질문 뒤에 "nn", 을 추가했고, 답변 뒤에는 "n"을 추가했습니다. .

    질문 및 답변 형식에 대한 모델을 빠르게 생성​

    질문 및 답변 형식 문제 해결, 새로운 질문이 다시 발생합니다. 업계 지식을 질문 및 답변 형식으로 구성하는 방법은 무엇입니까? ? 대부분의 경우 우리는 인터넷에서 많은 도메인 지식을 크롤링하거나, 많은 도메인 문서를 검색합니다. 어떤 경우이든 문서를 입력하는 것이 가장 편리합니다. 그러나 정규식이나 수동 방법을 사용하여 많은 양의 텍스트를 질문 및 답변 형식으로 처리하는 것은 분명히 비현실적입니다.

    따라서 기사에서 핵심 정보를 추출하여 짧은 요약을 생성할 수 있는 자동 요약(Automatic Summarization)이라는 기술을 도입할 필요가 있습니다.

    자동 요약에는 추출 자동 요약과 생성 자동 요약의 두 가지 유형이 있습니다. 추출적 자동 요약은 원문에서 가장 대표적인 문장을 추출하여 요약을 생성하고, 생성적 자동 요약은 모델 학습을 통해 원문에서 중요한 정보를 추출하고 이 정보를 바탕으로 요약을 생성합니다. 사실 자동 요약은 입력 텍스트에서 질문 및 답변 모드를 생성하는 것입니다.

    문제가 명확해진 후 다음 단계는 도구를 얻는 것입니다. NLTK는 Natural Language Toolkit의 약어로 주로 사용되는 Python 라이브러리입니다. 자연어 처리 분야. 여기에는 텍스트 전처리, 품사 태깅, 명명된 엔터티 인식, 구문 분석, 감정 분석 등과 같은 자연어 처리를 위한 다양한 도구와 라이브러리가 포함되어 있습니다.

    텍스트를 NLTK에 전달하기만 하면 NLTK는 중지 단어 제거, 단어 분할, 품사 태깅 등을 포함하여 텍스트에 대한 데이터 전처리 작업을 수행합니다. 전처리 후 NLTK의 텍스트 요약 생성 모듈을 사용하여 요약을 생성할 수 있습니다. 단어 빈도 기반, TF-IDF 기반 등과 같은 다양한 알고리즘을 선택할 수 있습니다. 요약을 생성하는 동안 질문 템플릿을 결합하여 질문 답변 요약을 생성할 수 있으므로 생성된 요약을 더 읽기 쉽고 이해하기 쉽게 만들 수 있습니다. 동시에 일관성이 없는 문장, 부정확한 답변 등 요약을 미세 조정할 수도 있습니다.

    아래 코드를 보세요:

    transformer에서 AutoTokenizer, AutoModelForSeq2SeqLM, 파이프라인을 가져옵니다

    import nltk


    # 텍스트 입력

    text = """자연어 도구 키트 (자연어 처리 도구 키트, 약어로 NLTK)는 다음과 같은 인간 언어 데이터 처리 문제를 해결하는 데 사용되는 Python 라이브러리 세트입니다. ​ POS 태깅

    구문 분석

    감정 분석

    의미론적 분석

    음성 인식

    텍스트 생성 및 기타

    """

    요약 생성

    문장 = nltk.sent_tokenize(text )


    summary = " ".join(sentences[:2]) # 처음 두 문장을 요약으로 사용하세요

    print("요약:", 요약)

    # Fine-t에 대해 생성된 요약 사용 우닝 모델 구해

    tokenizer = AutoTokenizer.from_pretrained("t5-base")

    model = AutoModelForSeq2SeqLM.from_pre 훈련됨("t5-base")

    text = "요약: " + 요약 # 입력 형식 구성

    inputs = 토크나이저(텍스트, return_tensors="pt" , 패딩=True)


    # 학습 모델

    model_name = "첫 번째 모델"

    model.save_pretrained(모델_이름)


    # 테스트 모델

    qa = 파이프라인("질문 응답", 모델=모델_이름, tokenizer=모델_이름)

    context = "NLTK는 무엇에 사용되나요?" 질문

    answer = qa(questinotallow=context, cnotallow=text["input_ids"])

    print("질문:", context)

    print("답변:", 대답["답변"])

    출력 결과는 다음과 같습니다.

    Abstract: Natural Language Toolkit(Natural Language Treatment Toolkit, 약어로 NLTK)은 Python 라이브러리의 다음과 같은 인간 언어 데이터 처리 문제 해결: - 단어 분할 - 품사 태그 지정

    문제: NLTK 무엇에 사용되나요 ?

    답: 자연어 처리 도구 키트

    위 코드는 nltk.sent_tokenize 메소드를 사용하여 입력 텍스트의 요약을 추출합니다. 즉, 질문과 답변의 형식을 지정합니다. 그런 다음 , Fine-tuning의 AutoModelForSeq2SeqLM.from_pretrained 메서드를 호출하여 이를 모델링하고, 다시 이름을 '퍼스트 모델' 모델로 변경 저장되었습니다. 마지막으로 훈련된 모델을 호출하여 결과를 테스트합니다.

    위는 NLTK을 통해 질문과 답변의 요약을 생성할 뿐만 아니라 F을 사용해야 합니다. 이네- t uning 기능. Fine-tuning은 사전 훈련된 모델을 기반으로 하며 소량의 레이블이 지정된 데이터를 통해 모델을 미세 조정하여 특정 작업에 적응합니다. 사실은 원본 모델을 사용하여 데이터를 설치하여 모델을 형성하는 것입니다. 물론 히든 레이어의 설정 및 매개변수와 같은 모델의 내부 결과를 조정할 수도 있습니다. 등. 여기서 우리는 단지 가장 간단한 함수 를 사용합니다. 설명해야 할 것은 사전 훈련된 모델 "t5-base"에서 로드된 AutoModelForSeq2SeqLM 클래스입니다. T okenizer 및 모델 .

    20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.

    AutoTokenizer는 사전 훈련된 모델을 기반으로 적절한 Tokenizer를 자동으로 선택하고 로드하는 Hugging Face Transformers 라이브러리의 클래스입니다. Tokenizer의 기능은 후속 모델 입력을 위해 모델이 이해할 수 있는 형식으로 입력 텍스트를 인코딩하는 것입니다.

    AutoModelForSeq2SeqLM은 사전 학습된 모델을 기반으로 적절한 시퀀스-시퀀스 모델을 자동으로 선택하고 로드하는 Hugging Face Transformers 라이브러리의 클래스이기도 합니다. 여기서는 요약 생성 또는 번역과 같은 작업에 T5 아키텍처를 기반으로 하는 시퀀스 간 모델이 사용됩니다. 사전 학습된 모델을 로드한 후 이 모델을 F조정에 사용하거나 작업 관련 출력을 생성할 수 있습니다.

    미세조정과 허깅페이스는 어떤 관계인가요? ​

    위의 모델링 코드에 대해 설명했는데, 헷갈릴 수도 있는 Fine-튜닝과 Hugging 얼굴 부분을 포함합니다. 이해를 돕기 위해 예를 들어보겠습니다.

    요리하고 싶지만 이미 재료(업계 지식)가 있지만 요리 방법을 모른다고 가정해 보세요. 그래서 당신이 요리사 친구에게 물어보고, 당신이 가지고 있는 재료가 무엇인지(업계 지식), 어떤 요리를 만들고 싶은지(해결해야 할 문제), 당신의 친구 는 그의 경험을 바탕으로 합니다. 그리고 지식 (일반 모델)은 몇 가지 제안 을 제공합니다. 이 프로세스는 Fine-tuning입니다. 산업 지식을 보편적인 것으로 만들기 훈련용 모델). 당신의 친구의 경험과 지식 사전 학습된 모델이고, 업계 지식과 해결해야 할 문제를 입력하고 사전 학습된 모델을 사용해야 합니다. - 훈련된 모델인 은 물론 조미료의 함량이나 요리의 열량 등을 미세 조정할 수도 있습니다. 목적은 업계의 문제를 해결하는 것입니다. And Hugging Face는 레시피 창고입니다(코드의 "t5-base"는 레시피입니다). 여기에는 다음과 같이 정의된 많은 레시피(모델)가 포함되어 있습니다. , 쿵파오 치킨과 삶은 돼지고기 조각 만드는 법. 이러한 기성 레시피를 사용하여 우리가 제공하는 재료와 요리에 필요한 요리를 기반으로 레시피를 만들 수 있습니다. 우리는 이러한 조리법을 조정하고 훈련하기만 하면 그것이 우리 자신의 조리법이 될 것입니다. 이제부터

    , 우리만의 레시피를 활용해 요리할 수 있어요(업계 문제 해결). ​나에게 맞는 모델을 선택하는 방법은 무엇인가요? ​Hugging Face의 모델 라이브러리에서 필요한 모델을 검색하실 수 있습니다. 아래 그림과 같이 Hugging Face 공식 홈페이지에서 '모델'을 클릭하시면 모델 분류를 보실 수 있으며, 검색창을 이용하여 모델명을 검색하실 수도 있습니다.

    20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.

    아래 그림과 같이 각 모델 페이지에는 모델 설명, 사용 예, 사전 훈련 웨이트 다운로드 링크 등과 같은 관련 정보가 제공됩니다.

    20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.

    20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.

    요약​

    여기서 우리는 전체 산업 지식을 모두와 함께 수집, 변환, 교육 및 사용하는 과정을 거치게 됩니다. 아래 그림과 같이

    • 데이터 수집 : 웹 크롤러 및 지식 문서를 통해 업계 지식을 추출하고 문자열 등의 텍스트를 생성합니다.
    • 질문 및 답변 형식으로 변환: NLTK의 요약 기능은 질문 및 답변의 요약을 생성한 다음 훈련을 위해 GPT에 입력합니다. + NLTK에서 입력한 질문과 답변 요약은 모델 학습에 사용됩니다.
    • 모델 적용: 훈련된 모델을 저장한 후 질문을 하고 업계 전문가의 답변을 얻을 수 있습니다. 저자 소개Cui Hao, 51CTO 커뮤니티 편집자, 선임 아키텍트는 18년의 소프트웨어 개발 및 아키텍처 경험과 10년의 분산 아키텍처 경험을 보유하고 있습니다.

위 내용은 20년 IT 베테랑이 ChatGPT를 사용하여 도메인 지식을 만드는 방법을 공유합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제