Transformers documentation
FLAN-UL2
시작하기
기본 클래스
모델
Preprocessors
추론
Pipeline API
Generate API
최적화
모델과 대화하기
서빙
학습
하드웨어
양자화
생태계 통합
리소스
API
주요 클래스
모델
텍스트 모델
A.X-K1A.X-K2AFMoEALBERTApertusArceeBambaBARTBARThezBARTphoBeamBERTBertGenerationBertJapaneseBERTweetBigBirdBigBirdPegasusBioGptBitNetBlenderbotBlenderbot SmallBLOOMBLTByT5CamemBERTCANINECodeGenCodeLlamaCohereCohere2Cohere2MoeConvBERTCPMCPMANTCTRLDBRXDeBERTaDeBERTa-v2DeepSeek-OCR-2DeepSeek-V2DeepSeek-V3DeepSeek-V3.2DeepSeek-V4DiffLlamaDistilBERTDogedots1DPRELECTRAEncoder Decoder 모델ERNIEErnie4_5Ernie4_5_MoEESMESMCESMFold2EuroBERTEXAONE-4.0EXAONE-4.5EXAONE-MoEFalconFalcon3FalconH1FalconMambaFLAN-T5FLAN-UL2FlauBERTFlexOlmoFlintFNetFSMTFun-ASR-NanoFunnel TransformerFuyuGemmaGemma2GLM-4GLM-4-0414GLM-4.5, GLM-4.6, GLM-4.7GLM-4.7-FlashGLM-5, GLM-5.1, GLM-5.2, GLM-5.3GLM-ImageGPTGPT NeoGPT NeoXGPT NeoX JapaneseGPT-JGPT2GPTBigCodeGptOssGPTSw3GraniteGraniteMoeGraniteMoeHybridGraniteMoeSharedGraniteMoeSWAGraniteSWAGTE헬륨HerBERTHRM-TextHunYuanDenseV1HunYuanMoEV1HunYuanVLHyperCLOVAXHYV3HYV4I-BERTInternLM3IQuestCoderJais2JambaJetMoeJEVjina_embeddings_v3KimiLinearKolibri1LagunaLEDLFM2LFM2MoeLFM3Ling 3.0LLaMALlama2Llama3LongCatFlashLongformerLongT5LUKEM2M100MADLAD-400MambaMamba2MarianMTMarkupLMMBart 및 MBart-50MegatronBERTMellumMiMo-V2-FlashMiniCPM3MiniMaxMiniMax-M2MiniMax-M3-VLMinistralMinistral3MistralMixtralmLUKEMobileBERTModernBertModernBERTDecoderModernVBertMPNetMPTMRAMT5Muse Spark OpenMuseGlimmerMuseGlimmerAssistantMVPmyt5NanoChatNemotronNemotronHNemotronH OmniNLLBNLLB-MoENomicBERTNyströmformerOLMoOLMo2Olmo3OLMoEOlmoHybridOpenAI Privacy FilterOPTPegasusPEGASUS-X감PhiPhi-3PhiMoEPhoBERTPLBartProphetNetQwen2Qwen2MoEQwen3Qwen3.5Qwen3.5 MoeQwen3MoEQwen3NextQwen4-ExpRAGRecurrentGemmaReformerRemBERTRoBERTaRoBERTa-PreLayerNormRoCBertRoFormerRWKVSeed-OssSmolLM3SolarOpenSplinterSqueezeBERTStableLmStarcoder2Step3p7SwitchTransformersT5T5GemmaT5Gemma2T5v1.1UL2UltraBERTUltraVBertUMT5VaultGemmaX-MODXGLMXLMXLM-RoBERTaXLM-RoBERTa-XLXLM-VXLNetxLSTMYOSOYoutu-LLMZambaZamba2ZAYA
비전 모델
오디오 모델
비디오 모델
멀티모달 모델
강화 학습 모델
시계열 모델
내부 헬퍼
참고
이 모델은 2023-06-20에 Hugging Face Transformers에 기여되었습니다.
FLAN-UL2
개요
Flan-UL2는 T5 아키텍처를 기반으로 한 인코더-디코더 모델입니다. 지난 해 초에 공개된 UL2 모델과 동일한 구성을 사용합니다.
“Flan” 프롬프트 튜닝 및 데이터셋 수집을 통해 파인 튜닝되었습니다. Flan-T5와 마찬가지로, 모델을 파인 튜닝하지 않고 FLAN-UL2 가중치를 바로 사용할 수 있습니다:
원래 블로그에 따르면 주목할 만한 개선 사항은 다음과 같습니다:
- UL2의 원래 모델은 receptive field가 512로만 학습되어, N이 큰 N-shot prompting에는 이상적이지 않았습니다.
- Flan-UL2 체크포인트는 2048의 receptive field를 사용하여 few-shot in-context learning에 더 유용합니다.
- 원래 UL2 모델에는 좋은 성능을 얻기 위해 사실상 필수적인 모드 전환 토큰이 포함되어 있었습니다. 그러나 추론 또는 파인튜닝 과정에서 변경이 자주 필요해 다소 번거로웠습니다. 이번 업데이트/변경 사항에서는 Flan 지시 튜닝을 적용하기 전에 “모드 토큰”을 잊도록 UL2 20B를 추가 100k 스텝(소규모 배치) 동안 계속 학습했습니다. 이 Flan-UL2 체크포인트는 더 이상 모드 토큰이 필요하지 않습니다. Google은 다음 변형을 공개했습니다:
원본 체크포인트는 여기에서 찾을 수 있습니다.
리소스가 제한된 기기에서 실행
모델이 상당히 무겁습니다(반정밀도 기준 약 40GB). 모델을 실행만 하려면 8bit로 모델을 로드하고, OOM 문제가 발생하지 않도록 device_map="auto"를 사용하세요!
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, BitsAndBytesConfig
model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-ul2", quantization_config=BitsAndBytesConfig(load_in_8bit=True), device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("google/flan-ul2")
inputs = tokenizer("A step by step recipe to make bolognese pasta:", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True))
['In a large skillet, brown the ground beef and onion over medium heat. Add the garlic']Update on GitHubAPI 참조, 팁, 코드 예제 및 노트북에 대해서는 T5 문서 페이지를 참조하세요.