목차
Hugging Face란 무엇인가요?
T5 아키텍처 이해
이제 모델이 완성되었으므로 모델을 미세 조정하기 위한 데이터가 필요합니다. 우리는 텍스트 구절을 기반으로 한 질문-답변 쌍 모음인
데이터세트 전처리
모델 미세 조정(전이 학습)
모델 평가
미세 조정을 개선하는 방법
결론
기술 주변기기 일체 포함 LLM: TensorFlow, Keras, Hugging Face를 사용한 전이 학습

LLM: TensorFlow, Keras, Hugging Face를 사용한 전이 학습

Oct 18, 2024 pm 05:52 PM

전이 학습은 특히 LLM(대형 언어 모델)을 사용할 때 딥 러닝에서 가장 강력한 기술 중 하나입니다. Flan-T5와 같은 이러한 모델은 방대한 양의 데이터에 대해 사전 훈련되어 있어 다양한 언어 작업에 걸쳐 일반화할 수 있습니다. 모델을 처음부터 훈련하는 대신 질문 답변과 같은 특정 작업에 맞게 사전 훈련된 모델을 미세 조정할 수 있습니다.

이 가이드에서는 전이 학습을 수행하는 방법을 안내합니다. TensorFlowHugging Face를 사용하여 Flan-T5-large. 주어진 상황에 따라 질문에 답변하는 모델을 훈련하는 데 사용되는 인기 데이터세트인 SQuAD(Stanford Question Answering Dataset)에서 이 모델을 미세 조정할 것입니다.

우리가 제공하는 핵심 사항 다음 내용을 다룹니다.

  • Hugging Face에 대한 자세한 소개와 이것이 NLP에 어떻게 도움이 되는지.
  • 로드 및 미세 조정 방법을 포함한 코드에 대한 단계별 설명 Flan-T5-large 모델.
  • 효율적인 미세 조정을 위해 대형 인코더 및 디코더 레이어를 동결하고 마지막 레이어만 동결 해제합니다.
  • SQuAD 데이터세트에 대한 간략한 소개 및 방법 작업에 맞게 처리합니다.
  • T5 아키텍처와 Hugging Face의 AutoModel 작동 방식에 대한 심층적인 설명
  • 더 나은 성능을 위해 미세 조정 프로세스를 개선하는 방법.

Hugging Face란 무엇인가요?

Hugging Face는 NLP(자연어 처리)에서 강력한 모델 작업을 단순화하는 인기 플랫폼이자 라이브러리입니다. 주요 구성 요소는 다음과 같습니다.

  1. 모델 허브: 특정 작업에 맞게 미세 조정할 준비가 된 사전 학습된 모델의 저장소.
  2. Transformers Library: 모델을 쉽게 로드하고 미세 조정할 수 있는 도구를 제공합니다.
  3. 데이터 세트 라이브러리: SQuAD 훈련용입니다.
Hugging Face를 사용하면 처음부터 모델을 구축할 필요가 없습니다.

BERT, GPT-3, T5를 포함하여 다양한 사전 훈련된 모델에 대한 액세스를 제공합니다. NLP 솔루션을 개발하는 데 필요한 시간과 리소스. 이러한 모델을 활용하면 질문 답변, 텍스트 분류, 요약과 같은 특정 다운스트림 작업에 맞게 신속하게 미세 조정할 수 있습니다.

AutoModel이란 무엇인가요?

Hugging Face는 다양한 모델 클래스를 제공합니다. 하지만

AutoModel은 가장 유연하고 널리 사용되는 것 중 하나입니다. AutoModel API는 수동으로 모델을 선택하고 로드하는 복잡성을 추상화합니다. 각 모델의 특정 클래스를 미리 알 필요는 없습니다. AutoModel은 모델 이름에 따라 올바른 아키텍처를 로드합니다.

예를 들어 AutoModelForSeq2SeqLMT5 또는 BART와 같은 시퀀스-투-시퀀스 모델에 사용되며 일반적으로 번역, 요약 등의 작업에 사용됩니다. , 그리고 질의 응답. AutoModel의 장점은 모델에 구애받지 않는다는 것입니다. 즉, 모델을 쉽게 교체하면서도 동일한 코드를 계속 사용할 수 있다는 것입니다.

실제 작동 방식은 다음과 같습니다.

 from transformers import TFAutoModelForSeq2SeqLM, AutoTokenizer# Load the pre-trained Flan-T5-large model and tokenizermodel_name = "google/flan-t5-large"model = TFAutoModelForSeq2SeqLM.from_pretrained(model_name) # Load modeltokenizer = AutoTokenizer.from_pretrained(model_name) # Load tokenizer
로그인 후 복사
로그인 후 복사

AutoModel은 모델 이름(이 경우 flan-t5-large)을 기반으로 올바른 모델 아키텍처를 동적으로 로드합니다. 이러한 유연성 덕분에 각 모델의 아키텍처를 수동으로 지정하는 것에 대해 걱정할 필요가 없기 때문에 개발 프로세스가 훨씬 더 원활하고 빨라집니다.

T5 아키텍처 이해

T5 작동합니다. 먼저 아키텍처를 분석해 보겠습니다. T5는 Text-to-Text Transfer Transformer의 약자로 2019년 Google에서 출시했습니다. T5의 핵심 아이디어는 모든 NLP 작업을 텍스트-텍스트 문제로 변환할 수 있다는 것입니다. 번역, 요약 또는 질문 답변까지 가능합니다.

T5의 주요 구성 요소:

  • 인코더-디코더 아키텍처: T5는 시퀀스-투-시퀀스( Seq2Seq) 모델. 인코더는 입력 텍스트를 처리하고 디코더는 출력을 생성합니다.
  • 작업에 구애받지 않는 디자인: T5는 모든 작업을 텍스트 대 텍스트 문제로 변환합니다. 예를 들어 질문 답변의 경우 입력은 '질문: 컨텍스트: '으로 구성되며 모델은 답변을 텍스트로 예측하는 작업을 맡습니다.
  • 사전- 스팬 손상을 사용한 훈련: T5는 임의의 텍스트 범위가 특수 토큰으로 대체되는 "스팬 손상"이라는 방법을 사용하여 사전 훈련되었으며, 모델은 이러한 범위를 예측하는 임무를 맡습니다.
다음은 T5가 질문 답변 작업에 어떻게 적용될 수 있는지 보여주는 예입니다.

 Input: "question: What is T5? context: T5 is a text-to-text transfer 
transformer developed by Google."Output: "T5 is a text-to-text transfer transformer."
로그인 후 복사
로그인 후 복사
T5의 텍스트-텍스트 프레임워크의 장점은 유연성입니다. 입력 내용을 간단히 바꿔서 다양한 작업에 동일한 모델 아키텍처를 사용할 수 있습니다. 이로 인해 T5는 다양한 NLP 작업에 매우 다재다능하고 적응력이 뛰어납니다.

T5가 전이 학습에 완벽한 이유

T5는

C4 (Colossal Clean Crawled Corpus)는 언어 구조에 대한 확실한 이해를 제공합니다. 전이 학습을 통해 사전 훈련된 모델을 미세 조정하여 SQuAD 데이터 세트를 사용한 질문 답변과 같은 특정 작업을 전문화할 수 있습니다. T5의 사전 훈련된 지식을 활용하여 작업을 잘 수행할 수 있도록 최종 레이어만 조정하면 되며, 이는 훈련 시간과 계산 리소스를 줄여줍니다.SQuAD 데이터 세트 로드 및 전처리

이제 모델이 완성되었으므로 모델을 미세 조정하기 위한 데이터가 필요합니다. 우리는 텍스트 구절을 기반으로 한 질문-답변 쌍 모음인

SQuAD

데이터 세트를 사용합니다.

 from transformers import TFAutoModelForSeq2SeqLM, AutoTokenizer# Load the pre-trained Flan-T5-large model and tokenizermodel_name = "google/flan-t5-large"model = TFAutoModelForSeq2SeqLM.from_pretrained(model_name) # Load modeltokenizer = AutoTokenizer.from_pretrained(model_name) # Load tokenizer
로그인 후 복사
로그인 후 복사

SQuAD 데이터세트는 질문답변 작업에서 모델을 훈련하는 데 널리 사용됩니다. 데이터세트의 각 데이터 포인트는 컨텍스트(텍스트 구절), 질문 및 해당 답변으로 구성됩니다. 이는 발견된 텍스트 범위입니다.

데이터세트 전처리

모델에 데이터를 공급하기 전에 데이터를 토큰화해야 합니다. 토큰화는 원시 텍스트를 모델이 이해할 수 있는 숫자 값(토큰)으로 변환합니다. T5의 경우 입력을 질문과 컨텍스트의 조합으로 형식화해야 합니다.

 Input: "question: What is T5? context: T5 is a text-to-text transfer 
transformer developed by Google."Output: "T5 is a text-to-text transfer transformer."
로그인 후 복사
로그인 후 복사

이 함수는 질문-컨텍스트 쌍(입력)과 을 모두 토큰화합니다. 답변(출력). 원시 텍스트를 모델이 처리할 수 있는 토큰화된 시퀀스로 변환하려면 토큰화가 필요합니다.

모델 미세 조정(전이 학습)

여기에서 전이 학습을 수행합니다. 효율적인 미세 조정을 위해 인코더디코더 레이어를 동결하고, 최종 레이어만 동결을 해제합니다. 이 전략을 사용하면 계산량이 많은 레이어는 그대로 유지하면서 마지막 레이어가 질문에 답하는 작업에 특화되도록 할 수 있습니다.

 from datasets import load_dataset# Load the SQuAD datasetsquad = load_dataset("squad")
train_data = squad["train"]
valid_data = squad["validation"]
로그인 후 복사

설명:

  • 인코더 및 디코더 레이어: 이러한 레이어는 매우 크고 이미 방대한 양의 데이터에 대해 사전 훈련되었기 때문에 동결합니다. 이를 미세 조정하려면 상당한 계산 리소스와 시간이 필요합니다. 이를 동결함으로써 일반적인 언어 이해를 보존하고 최종 레이어를 미세 조정하는 데 집중합니다.
  • 최종 레이어 고정 해제: 이를 통해 모델은 SQuAD에서 작업별 정보를 학습할 수 있습니다. 데이터세트. 마지막 레이어는 질문-컨텍스트 쌍을 기반으로 답변을 생성하는 역할을 담당합니다.
  • 미세 조정: 작은 학습률을 사용하고 이를 적응하기 위해 3세대 동안 모델을 훈련합니다.

모델 평가

모델이 미세 조정되면 검증 세트에서 성능이 얼마나 좋은지 테스트하는 것이 중요합니다.

 # Preprocessing function to tokenize inputs and outputsdef preprocess_function(examples): # Combine the question and context into a single string
 inputs = ["question: " + q + " context: " + c for q, c in zip(examples["question"], examples["context"])]
 model_inputs = tokenizer(inputs, max_length=512, truncation=True, 
padding="max_length", return_tensors="tf") # Tokenize the answer (label)
 labels = tokenizer(examples["answers"]["text"][0], max_length=64, 
truncation=True, padding="max_length", return_tensors="tf")
 model_inputs["labels"] = labels["input_ids"] return model_inputs# Preprocess the datasettrain_data = train_data.map(preprocess_function, batched=True)
valid_data = valid_data.map(preprocess_function, batched=True)
로그인 후 복사

이 코드는 샘플 질문-컨텍스트 쌍을 가져와서 토큰화하고 미세 조정된 모델을 사용하여 답변을 생성합니다. 토크나이저는 출력을 사람이 읽을 수 있는 텍스트로 다시 디코딩합니다.

미세 조정을 개선하는 방법

미세 조정의 기본 사항을 다루었지만 추가로 개선할 수 있는 몇 가지 방법이 있습니다. 모델의 성능:

  1. 데이터 확대: 데이터 확대 기술을 사용하여 훈련 데이터의 크기를 늘립니다. 여기에는 질문을 바꿔 표현하거나 더 많은 훈련 샘플을 만들기 위해 컨텍스트를 약간 수정하는 것이 포함될 수 있습니다.
  2. 전이 학습 기술 사용: PEFT와 같은 다른 전이 학습 기술을 살펴보세요. ), 모델 매개변수의 더 작은 하위 집합을 미세 조정할 수 있습니다.
  3. 최적화: AdamW 또는 LAMB와 같은 고급 최적화 도구를 사용해 보세요. 더 나은 융합을 위해. 또한 다양한 학습률, 배치 크기 및 준비 단계를 실험해 보세요.
  4. 초매개변수 실험: 학습률, 에포크 수, 탈락률과 같은 초매개변수를 실험할 수 있습니다. 이러한 하이퍼파라미터를 조정하려면 작은 검증 세트를 사용하세요.
  5. TPU 또는 다중 GPU 교육 활용: 대규모 데이터 세트나 모델로 작업하는 경우 TPU(Tensor Process Unit) 사용을 고려하세요. 또는 여러 GPU를 사용하여 훈련 프로세스 속도를 높입니다.

결론

이 가이드에서는 사전 훈련된 LLM(Flan-T5- 대형) TensorFlowHugging Face를 사용합니다. 계산 비용이 많이 드는 인코더 및 디코더 레이어를 동결하고 최종 레이어만 미세 조정함으로써 훈련 프로세스를 최적화하는 동시에 SQuAD 데이터 세트에 대한 질문 답변이라는 특정 작업에 모델을 적용했습니다.

T5의 텍스트-텍스트 프레임워크는 다양한 NLP 작업에 매우 유연하고 적응 가능하며 Hugging Face의 AutoModel 추상화는 이러한 모델 작업 프로세스를 단순화합니다. T5와 같은 모델의 아키텍처와 원리를 이해하면 이러한 기술을 다양한 다른 NLP 작업에 적용하여 전이 학습을 기계 학습 툴킷의 강력한 도구로 만들 수 있습니다.

 

위 내용은 LLM: TensorFlow, Keras, Hugging Face를 사용한 전이 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

창의적인 프로젝트를위한 최고의 AI 아트 발전기 (무료 & amp; 유료) 창의적인 프로젝트를위한 최고의 AI 아트 발전기 (무료 & amp; 유료) Apr 02, 2025 pm 06:10 PM

이 기사는 최고의 AI 아트 생성기를 검토하여 자신의 기능, 창의적인 프로젝트에 대한 적합성 및 가치에 대해 논의합니다. Midjourney를 전문가에게 최고의 가치로 강조하고 고품질의 사용자 정의 가능한 예술에 Dall-E 2를 추천합니다.

Meta Llama 3.2- 분석 Vidhya를 시작합니다 Meta Llama 3.2- 분석 Vidhya를 시작합니다 Apr 11, 2025 pm 12:04 PM

메타의 라마 3.2 : 멀티 모달 및 모바일 AI의 도약 Meta는 최근 AI에서 강력한 비전 기능과 모바일 장치에 최적화 된 가벼운 텍스트 모델을 특징으로하는 AI의 상당한 발전 인 Llama 3.2를 공개했습니다. 성공을 바탕으로 o

최고의 AI 챗봇 비교 (Chatgpt, Gemini, Claude & amp; more) 최고의 AI 챗봇 비교 (Chatgpt, Gemini, Claude & amp; more) Apr 02, 2025 pm 06:09 PM

이 기사는 Chatgpt, Gemini 및 Claude와 같은 최고의 AI 챗봇을 비교하여 고유 한 기능, 사용자 정의 옵션 및 자연어 처리 및 신뢰성의 성능에 중점을 둡니다.

chatgpt 4 o를 사용할 수 있습니까? chatgpt 4 o를 사용할 수 있습니까? Mar 28, 2025 pm 05:29 PM

ChatGpt 4는 현재 이용 가능하고 널리 사용되며 ChatGpt 3.5와 같은 전임자와 비교하여 상황을 이해하고 일관된 응답을 생성하는 데 상당한 개선을 보여줍니다. 향후 개발에는보다 개인화 된 인터가 포함될 수 있습니다

컨텐츠 생성을 향상시키기 위해 AI를 쓰는 최고 AI 작문 컨텐츠 생성을 향상시키기 위해 AI를 쓰는 최고 AI 작문 Apr 02, 2025 pm 06:11 PM

이 기사는 Grammarly, Jasper, Copy.ai, Writesonic 및 Rytr와 같은 최고의 AI 작문 조수에 대해 논의하여 콘텐츠 제작을위한 독특한 기능에 중점을 둡니다. Jasper는 SEO 최적화가 뛰어나고 AI 도구는 톤 구성을 유지하는 데 도움이된다고 주장합니다.

AI 에이전트를 구축하기위한 상위 7 개의 에이전트 래그 시스템 AI 에이전트를 구축하기위한 상위 7 개의 에이전트 래그 시스템 Mar 31, 2025 pm 04:25 PM

2024는 콘텐츠 생성에 LLM을 사용하는 것에서 내부 작업을 이해하는 것으로 바뀌는 것을 목격했습니다. 이 탐사는 AI 요원의 발견으로 이어졌다 - 자율 시스템을 처리하는 과제와 최소한의 인간 개입으로 결정을 내렸다. buildin

최고의 AI 음성 생성기 선택 : 최고 옵션 검토 최고의 AI 음성 생성기 선택 : 최고 옵션 검토 Apr 02, 2025 pm 06:12 PM

이 기사는 Google Cloud, Amazon Polly, Microsoft Azure, IBM Watson 및 Destript와 같은 최고의 AI 음성 생성기를 검토하여 기능, 음성 품질 및 다양한 요구에 대한 적합성에 중점을 둡니다.

AV 바이트 : Meta ' S Llama 3.2, Google의 Gemini 1.5 등 AV 바이트 : Meta ' S Llama 3.2, Google의 Gemini 1.5 등 Apr 11, 2025 pm 12:01 PM

이번 주 AI 환경 : 발전의 회오리 바람, 윤리적 고려 사항 및 규제 토론. OpenAi, Google, Meta 및 Microsoft와 같은 주요 플레이어

See all articles