Python에서 Hugging Face Transformers를 사용하는 방법

Python Eseo Hugging Face Transformersleul Sayonghaneun Bangbeob



Hugging Face는 오픈 소스인 인공 지능 커뮤니티로 인식되며 언어 모델(자연어 처리)과 통신하거나 훈련하는 데 도움이 되는 모든 중요한 프레임워크, 도구, 모델 및 아키텍처를 제공합니다. Hugging Face 변환기는 Python에서 사전 훈련된 언어 처리 모델을 제공하는 데 도움이 되는 언어 아키텍처입니다. Hugging Face의 이러한 변환기는 프로그래머가 라이브러리 패키지를 사용하여 사전 훈련된 모델과의 상호 작용을 쉽게 생성할 수 있도록 도와주는 광범위한 데이터 세트 및 계층화된 API를 제공합니다.

통사론

최신 Hugging Face 변환기에는 사전 훈련된 다양한 모델이 있습니다. 이러한 모델은 다음에 나열된 다양한 언어 모델에 적용될 수 있습니다.

  • 이러한 변환기는 다른 언어로 된 텍스트를 처리할 수 있으며 텍스트 분류, 질문 및 답변, 텍스트를 다른 언어로 번역 및 텍스트 생성과 같은 텍스트에 대해 다른 작업을 수행할 수 있습니다.
  • Hugging Face에서 이러한 변환기를 객체 감지 및 음성 기반 작업과 같은 시각 기반 분류 작업에 활용할 수도 있습니다. 화자 분류 또는 음성 식별/인식.

Hugging Face의 변환기에는 TensorFlow, PyTorch, ONNX 등이 포함됩니다. 이러한 변환기용 패키지 설치 구문의 경우 다음 명령을 사용합니다.







$ pip 설치 변환기

이제 다양한 언어 처리 작업을 위해 Hugging Face 변환기의 모델을 사용하는 다양한 예를 시도합니다.



예 1: 껴안는 얼굴 변환기를 사용한 텍스트 생성

이 예제에서는 텍스트 생성을 위해 변환기를 사용하는 방법을 다룹니다. 텍스트 생성을 위해 변환기에서 사전 훈련된 텍스트 생성 모델을 활용하고 가져옵니다. 변환기에는 '파이프라인'으로 알려진 기본 라이브러리가 있습니다. 이러한 파이프라인은 사전 훈련된 모델에 입력으로 공급해야 하는 데이터에 대해 필요한 모든 사전 및 사후 처리를 수행하여 변환기를 위해 작동합니다.



Python 터미널에 '변환기'의 라이브러리 패키지를 먼저 설치하여 예제 코딩을 시작합니다. 변환기 패키지를 다운로드하려면 '패키지 이름과 함께 pip install, 즉 변환기'를 사용하십시오. 변환기 패키지를 다운로드하고 설치한 후 변환기에서 '파이프라인' 패키지를 가져와 진행합니다. 파이프라인은 데이터가 모델에 공급되기 전에 데이터를 처리하는 데 사용됩니다.





pprint에서 'pprint'를 가져옵니다. 이 패키지는 텍스트 생성 모델의 출력을 보다 읽기 쉽고 구조화되고 올바른 형식으로 인쇄하기 위해 설치됩니다. 그렇지 않고 'print()' 함수를 사용하면 형식이 올바르지 않고 쉽게 읽을 수 있는 한 줄에 출력이 표시됩니다. 텍스트 생성 모델은 초기에 입력으로 모델에 제공한 텍스트에 더 많은 텍스트를 생성하거나 추가하는 데 도움이 됩니다.

변환기에서 훈련된 모델을 호출하기 위해 두 개의 매개변수를 입력으로 갖는 pipeline() 함수를 사용합니다. 첫 번째는 선택한 작업의 이름을 지정하고 두 번째는 변환기의 모델 이름입니다. 이 시나리오에서 선택한 작업은 텍스트 생성입니다. 변환기에서 활용하는 사전 훈련된 모델은 'gpt'입니다.



파이프라인 기능을 사용한 후 추가 텍스트를 생성하기 위해 모델에 제공할 입력을 결정합니다. 그런 다음 이 입력을 'task_pipeline()' 함수에 전달합니다. 이 함수는 입력, 출력의 최대 길이 및 출력이 입력 매개변수로 가져야 하는 문장 수를 취하여 모델에 대한 출력을 생성합니다.

'이것은 언어 모델입니다'라고 입력합니다. 출력의 최대 길이를 '30'으로 고정하고 출력의 문장 수를 '3'으로 고정합니다. 이제 모델에서 생성된 결과를 표시하기 위해 pprint() 함수를 호출하기만 하면 됩니다.

!pip 설치 변환기

변압기 가져오기 파이프라인에서
pprint에서 가져오기 pprint

SELECTED_TASK = '텍스트 생성'
모델 = 'gpt2'
태스크 = 파이프라인(f'{SELECTED_TASK}', 모델 = MODEL)

INPUT = '이것은 언어 모델입니다'
OUt_put = task(INPUT, max_length = 30, num_return_sequences=3)

인쇄(OUt_put)

앞서 언급한 코드의 스니펫과 출력에서 ​​모델이 입력에 관련된 추가 정보/텍스트를 생성하는 것을 볼 수 있습니다.

예 2: 변환기의 파이프라인을 사용한 텍스트 분류

이전 예제에서는 변환기 및 해당 패키지 파이프라인을 사용하여 입력과 관련된 추가 텍스트를 생성하는 방법을 다루었습니다. 이 예제는 파이프라인으로 텍스트 분류를 수행하는 방법을 보여줍니다. 텍스트 분류는 모델에 공급되는 입력을 특정 클래스의 구성원으로 식별하는 프로세스입니다. 양수 또는 음수.

먼저 변압기에서 파이프라인을 가져옵니다. 그런 다음 'pipeline()' 함수를 호출합니다. 우리의 경우 '텍스트 분류'인 모델의 이름을 해당 매개변수에 전달합니다. 모델이 파이프라인을 사용하여 지정되면 이제 이름을 '분류자'로 지정할 수 있습니다. 이 시점까지는 텍스트 분류의 기본 모델이 호스트 시스템에 다운로드됩니다. 이제 이 모델을 작업에 사용할 수 있습니다.

따라서 Pandas를 'pd'로 가져옵니다. 모델의 출력을 DataFrame 형식으로 인쇄하고 싶기 때문에 이 패키지를 가져오려고 합니다. 이제 우리 모델에 제공할 텍스트를 입력으로 지정하여 긍정문 또는 부정문으로 분류합니다. 우리는 텍스트를 '나는 좋은 사람입니다'로 설정했습니다. 이 텍스트를 이 예제에서 생성한 classifier() 모델에 전달하고 결과를 '출력' 변수에 저장합니다.

출력을 표시하기 위해 Pandas의 접두사, 즉 pd를 '.Dataframe()'으로 호출하고 분류기 모델의 출력을 이 함수에 전달합니다. 이제 다음 출력 스니펫에 표시된 대로 분류자 모델의 결과를 표시합니다. 분류기 모델은 텍스트를 포지티브 클래스로 분류합니다.

!pip 설치 변환기
변압기 가져오기 파이프라인에서
판다를 pd로 가져오기
분류자 = 파이프라인('텍스트 분류', 모델 = '텍스트 공격/distilbert-base-uncased-CoLA')
text = '나는 좋은 사람이야'
결과 = 분류기(텍스트)
지문(결과)
df = pd.DataFrame(결과)

결론

이 가이드는 Hugging Face의 트랜스포머 아키텍처를 다루었습니다. Hugging Face 변환기의 '파이프라인' 라이브러리에 대해 논의했습니다. 그런 다음 이 라이브러리의 도움으로 텍스트 생성 및 분류 작업을 위해 사전 훈련된 변환기 모델을 활용했습니다.