Transformers에서 텍스트 생성을 사용자 정의하는 방법

Transformerseseo Tegseuteu Saengseong Eul Sayongja Jeong Uihaneun Bangbeob



딥러닝에서 텍스트 생성은 다음의 도움을 받아 자연어로 텍스트를 자동으로 맞춤화하는 프로세스를 의미합니다. 인공신경망(ANN) . 더욱이, 이전 단어에 따라 시퀀스에서 다가오는 단어를 예측하기 위해 대규모 데이터 세트에 사전 훈련된 특정 목적을 위해 다양한 언어 모델이 활용됩니다. 또한, 맞춤형 텍스트는 언어 번역, 콘텐츠 생성, 챗봇 등을 포함한 다양한 애플리케이션에 활용될 수 있습니다.

이 블로그에서는 아래 제공된 콘텐츠를 다룰 것입니다.

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에서 텍스트 생성을 사용자 정의하는 실제 데모와 함께 간략한 정보를 제공했습니다.