이 블로그에서는 아래 제공된 콘텐츠를 다룰 것입니다.
- Transformers에서 '파이프라인' 기능이 있는 모델을 로드하여 텍스트 생성을 사용자 정의하는 방법은 무엇입니까?
- PyTorch에서 텍스트를 생성하기 위해 Transformer 기반 모델을 활용하는 방법은 무엇입니까?
- TensorFlow에서 텍스트를 생성하기 위해 Transformer 기반 모델을 활용하는 방법은 무엇입니까?
Transformers의 '파이프라인' 기능을 사용하여 모델을 로드하여 텍스트 생성을 사용자 정의하는 방법은 무엇입니까?
“ 관로 ” 기능은 사용자의 요구 사항에 따라 사전 훈련된 AI 모델을 자동으로 다운로드하는 데 사용됩니다. 이 특정 기능을 사용하려면 사용자는 “ 변압기 ” 패키지. 이 패키지를 사용하면 감정 분석 및 기타 여러 기능을 수행할 수 있는 최첨단 Transformer 기반 모델에 액세스할 수 있습니다. 자연어 처리(NLP) 작업.
위에서 설명한 시나리오의 실제 데모를 확인하려면 아래 단계로 이동하세요!
1단계: “transformers” 패키지 설치
처음에는 “! 씨' 변환기 패키지를 설치하는 명령:
! pip 설치 변압기
보시다시피 지정된 패키지가 성공적으로 설치되었습니다.
2단계: Transformer 기반 모델 가져오기
그런 다음 필요한 변환기 기반 모델을 가져옵니다. 그렇게 하려면 먼저 ' 관로 '의 기능' 변압기 '. 다음으로, 가져온 함수를 사용하고 “ 텍스트 생성 ' 필수 모델 이름과 함께 이에 대한 인수로 ' gpt2 '. 그런 다음 ' 생성하다 ” 변수:
~에서 변압기 수입 관로
생성하다 = 관로 ( '텍스트 생성' , 모델 = 'gpt2' )
3단계: 사용자 정의 텍스트 생성
이제 원하는 텍스트를 '에 인수로 전달합니다. 생성하다 '. 아래 그림과 같이:
생성하다 ( '변환기에서 텍스트를 생성하기 위해 gpt2 모델을 사용하여' )제공된 출력에 따르면 다운로드된 사전 훈련된 ' gpt3 ” 모델이 텍스트를 성공적으로 생성했습니다.
다음과 같은 다른 인수를 사용할 수도 있습니다.
즉각적인 = '변환기에서 텍스트를 생성하기 위해 gpt2 모델을 사용하여'인쇄 ( 유전자 ( 즉각적인 , num_return_sequences = 5 , 최대 길이 = 이십 ) )
여기:
- “ 즉각적인 ”는 입력을 유지하는 인수로 사용됩니다.
- “ num_return_sequence ” 인수는 제공된 텍스트의 시퀀스 수를 생성하는 데 사용됩니다.
- “ 최대 길이 ” 인수는 생성된 텍스트의 길이를 지정하는 데 사용됩니다. 우리의 경우에는 “ 30 ” 토큰(단어 또는 구두점):
메모: 사용자 정의된 텍스트는 모델의 훈련 데이터를 기반으로 지정된 프롬프트의 연속입니다.
PyTorch에서 텍스트를 생성하기 위해 Transformer 기반 모델을 활용하는 방법은 무엇입니까?
사용자는 ' 파이토치 ' 이것은 ' 토치 ” 기반의 머신러닝 프레임워크입니다. NLP, 컴퓨터 비전 등 다양한 애플리케이션에 활용됩니다. PyTorch의 텍스트를 사용자 정의하기 위해 변환기 기반 모델을 사용하려면 먼저 ' GPT2토크나이저 ' 그리고 ' GPT2모델 '의 기능은 ' 변압기 ':
~에서 변압기 수입 GPT2토크나이저 , GPT2모델그런 다음 ' GPT2토크나이저 '라는 이름의 원하는 사전 훈련된 모델에 따른 토크나이저 gpt2 ':
토크나이저 = GPT2토크나이저. from_pretrained ( 'gpt2' )그런 다음 사전 훈련된 모델에서 가중치를 인스턴스화합니다.
모델 = GPT2모델. from_pretrained ( 'gpt2' )다음으로 “ gen_text ” 사용자 정의하려는 텍스트를 보유하는 변수:
gen_text = '변환기에서 텍스트를 생성하기 위해 gpt2 모델을 사용하여'이제 “ gen_text ' 그리고 ' return_tensors='pt' '를 PyTorch에서 텍스트를 생성하고 생성된 값을 ' 인코딩_입력 ” 변수:
인코딩_입력 = 토크나이저 ( gen_text , return_tensors = '포인트' )마지막으로 ' 인코딩_입력 ” 사용자 정의된 텍스트를 “ 모델 ”를 매개변수로 사용하고 “를 사용하여 결과 출력을 얻습니다. 최대 길이 '로 설정된 인수 이십 ”는 생성된 텍스트가 제공된 토큰으로 제한됨을 나타냅니다. num_return_sequences '는 '로 설정됩니다. 5 ” 이는 생성된 텍스트가 5개의 텍스트 시퀀스에 의존함을 보여줍니다.
산출 = 모델 ( **encoded_input )발전기 ( gen_text , 최대 길이 = 이십 , num_return_sequences = 5 )
산출
TensorFlow에서 텍스트를 생성하기 위해 Transformer 기반 모델을 활용하는 방법은 무엇입니까?
Transformers에서 텍스트를 생성하려면 “ 텐서플로우 ” 기반의 머신러닝 프레임워크도 사용됩니다. 그렇게 하려면 먼저 '와 같은 필수 기능을 가져옵니다. GPT2토크나이저 ' 그리고 ' TFGPT2모델 ' 로부터 ' 변압기 '. 나머지 코드는 위와 동일합니다. 단지 ' TFGPT2모델 ' 대신 ' 기능을 사용합니다. GPT2모델 ' 기능. 다음과 같이:
~에서 변압기 수입 GPT2토크나이저 , TFGPT2모델토크나이저 = GPT2토크나이저. from_pretrained ( 'gpt2' )
모델 = TFGPT2모델. from_pretrained ( 'gpt2' )
텍스트 = '변환기에서 텍스트를 생성하기 위해 gpt2 모델을 사용하여'
인코딩_입력 = 토크나이저 ( 텍스트 , return_tensors = 'tf' )
산출 = 모델 ( 인코딩_입력 )
발전기 ( gen_text , 최대 길이 = 이십 , num_return_sequences = 5 )
보시다시피, 사용자 정의된 텍스트가 성공적으로 생성되었습니다.
그게 다야! Transformers의 텍스트 생성 사용자 정의에 대해 자세히 설명했습니다.
결론
Transformers에서 텍스트 생성을 사용자 정의하려면 파이프라인 기능으로 모델을 로드하거나 '에서 변환기 기반 모델을 사용하는 등 다양한 방법이 있습니다. 파이토치 ' 그리고 ' 텐서플로우 ” 머신러닝 프레임워크를 기반으로 합니다. 이 가이드에서는 Transformers에서 텍스트 생성을 사용자 정의하는 실제 데모와 함께 간략한 정보를 제공했습니다.