이 저장소에는 제로 샷 텍스트 분류 및 텍스트 생성에 Hugging Face Transformers 라이브러리의 사용을 보여주는 코드가 포함되어 있습니다. 분류 용 BART와 텍스트 생성을위한 GPT-2의 예가 포함되어 있습니다.
ZeroShotInference 클래스 : 제로 샷 텍스트 분류 및 텍스트 생성을 처리하는 클래스. main.py : 텍스트 분류 및 텍스트 생성에 대한 ZeroShotInference 클래스의 예제.
이 코드를 실행하려면 Hugging Face Transformers 라이브러리 및 그 종속성을 설치해야합니다. 다음과 같이 설치할 수 있습니다.
pip install transformers torch이 예제는 Facebook Bart Large Model (Bart-Large-Mnli)을 사용하여 주어진 후보 레이블을 기반으로 텍스트를 분류합니다.
from transformers import pipeline
class ZeroShotInference :
def __init__ ( self , task , pre_trained_model ):
self . model = pre_trained_model
self . task = task
self . pipe = pipeline ( task = self . task , model = self . model )
def classify_text ( self , text , candidate_labels ):
result = self . pipe ( text , candidate_labels )
return result예제 사용 :
text = "I love to play video games"
candidate_labels = [ 'hobby' , 'habit' , 'adventure' , 'boredom' , 'business' ]
task = "zero-shot-classification"
model = "facebook/bart-large-mnli"
zero_short_inference = ZeroShotInference ( task , model )
result = zero_short_inference . classify_text ( text , candidate_labels )
print ( result ) # Output: {'sequence': 'I love to play video games', 'labels': ['hobby', 'habit', 'adventure', 'business', 'boredom'], 'scores': [0.8799885511398315, 0.09845343977212906, 0.016700521111488342, 0.0031407771166414022, 0.0017165272729471326]}이 예제는 GPT-2를 사용하여 주어진 프롬프트를 기반으로 텍스트를 생성합니다.
def generate_text ( self , prompt , max_length = 100 , temperature = 0.7 ):
output = self . pipe ( prompt , max_length = max_length , do_sample = True , temperature = temperature , truncation = True )
return output [ 0 ][ 'generated_text' ]예제 사용 :
prompt = "I was doing coding last night"
model_2 = "gpt2"
task_2 = "text-generation"
zero_shot_infernece_2 = ZeroShotInference ( task_2 , model_2 )
result_2 = zero_shot_infernece_2 . generate_text ( prompt )
print ( result_2 ) 이 모델은 효율적인 추론을 위해 양자화 기술을 사용하여 메모리 사용을 줄이고 BitsAndBytesConfig 사용하여 응답 시간을 가속화합니다.
언급 한대로 HF_TOKEN의 경우 HuggingFace에서 토큰을 생성하고 Google Colab의 비밀에 추가했습니다.
이 작업은 7B 변형을 사용하여 지시어 텍스트를 생성하기위한 Mistral 모델을 미세 조정하는 것을 목표로합니다. 여기에는 특정 데이터 세트에서 모델을 교육 한 다음이를 사용하여 주어진 프롬프트를 기반으로 교육 텍스트를 생성합니다.
미세 조정 된 Mistral Instruct 7B 프로젝트는 교육 텍스트를 생성하기위한 대규모 언어 모델 인 Mistral 모델을 활용합니다. 교육 텍스트가 포함 된 데이터 세트에서 모델을 미세 조정함으로써 목표는 일관되고 유익한 지침을 생성 할 수있는 특수 모델을 만드는 것입니다.
프로젝트에 대한 기여를 환영합니다. 저장소를 자유롭게 포크하고 변경하고 풀 요청을 제출하십시오. 또한 개선 또는보고 버그를 제안하기 위해 문제를 열 수 있습니다.