웹 사이트 : https://legacyai.github.io/tf-transformers
TF- 변환기 : Tensorflow 2.0의 더 빠르고 쉽게 최첨단 변압기
자동 중심 세대가 90 배 더 빠르다고 상상해보십시오. TF-Transformers (Tensorflow Transformers)는 변압기 기반 아키텍처를 위해 특별히 설계된 Tensorflow 2의 전체 전력을 활용하도록 설계되었습니다.
이 모델은 다음에 적용 할 수 있습니다.
max_length=64 , num_beams=3 인 gpt2 텍스트 생성.
tf_transformers : 31 minutes
huggingface_tf : 83 minutes
huggingface_pt : 36 minutes
huggingface_jax : 35 minutes
83 minutes 에서 31 minutes 까지는 상당한 속도가 빨라집니다. 92 % 속도. 평균적으로, TF- 변환기는 포옹 페이스 인 Tensorflow 구현보다 80-90 % 속도가 높으며 대부분의 경우 Pytorch 와 비슷 하거나 빠릅니다 .
벤치 마크에서 더 많은 벤치 마크를 찾을 수 있습니다
이 저장소는 Python 3.7+ 및 Tensorflow 2.7에서 테스트됩니다.
pip install sentencepiece
pip install tensorflow-text > = 2.7.3
pip install tqdm 컴퓨터에 따라 tensorflow >= 2.7.0 [CPU or GPU] 설치하십시오. 가상 환경에 TF-Transformers를 설치해야합니다. Python Virtual Environments에 익숙하지 않은 경우 사용자 안내서를 확인하십시오.
먼저, 사용하고 활성화하려는 Python 버전으로 가상 환경을 만듭니다.
그런 다음 적어도 하나의 텐서 플로를 설치해야합니다. 플랫폼의 특정 설치 명령에 관한 TensorFlow 설치 페이지, 설치 페이지를 참조하십시오. [tensorflow-text] (https://www.tensorflow.org/text)를 설치하는 것이 좋습니다.
이러한 백엔드 중 하나가 설치되면 TF-Transformers를 다음과 같이 PIP를 사용하여 설치할 수 있습니다.
pip install tf-transformersgit clone https://github.com/legacyai/tf-transformers.git
pip install poetry
cd tf-transformers
poetry installTF-Transformers API는 매우 간단하고 최소한입니다.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_checkpoint ( "/tmp/gpt2_model/" ) # Save Model 텍스트 생성의 경우 다음을 추가하는 것이 매우 중요합니다. obj : use_auto_regressive=True . 이것은 모든 모델에 필요합니다.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' , use_auto_regressive = True )저장 및로드 모델을 직렬화합니다
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_transformers_serialized ( "/tmp/gpt2_serialized/" )
# To load a serialized models for inference in prodcution:
> >> import tensorflow as tf
> >> loaded = tf . saved_model . load ( "/tmp/gpt2_serialized/" )
> >> model = loaded . signatures [ 'serving_default' ] TF- 변환기에서 우리는 대부분 Keras의 Functional API 따랐습니다. tf-transformers 의 모든 모델은 연결되어 있으며 항상 다음 기능이 있습니다.
tf.keras.Model 또는 tf_transformers.core.LegacyModel 인 경우 : print(model.input) 를 사용하십시오.
tf.keras.Layer 또는 tf_transformers.core.LegacyLayer 인 경우 : print(model.model_inputs) 를 사용하십시오.
tf.keras.Model 또는 tf_transformers.core.LegacyModel 인 경우 : print(model.output) 를 사용하십시오.
tf.keras.Layer 또는 tf_transformers.core.LegacyLayer 인 경우 : print(model.model_outputs) 를 사용하십시오.
우리는 사전 훈련, 미세 조정, 클래스 픽션, QA, NER을 다루는 자습서를 다루었습니다.
10 줄 미만의 코드로 생산에 최첨단 모델을 사용하십시오.
명확한 튜토리얼을 통해 업계 기반 경험을 학생과 지역 사회에 유명하게 만듭니다.
Amazing tf.keras.Model.fit 으로 GPU , Multi-GPU , TPU 에 대한 모든 모델을 교육하십시오.
코드 변경이 최소화되거나없는 모델 또는 파이프 라인을 사용자 정의하십시오.
연구 섹션에는 ** mlm, t5, clip ** 범위의 다양한 모델을 사전 훈련하기위한 코드가 있습니다. 이 모든 스크립트는 Tensorflow-IO 파이프 라인의 전체 전력을 활용하도록 설계되었으며 TPU V2 및 TPU V3에서 테스트했습니다. 버그는 그에 따라 예상되지만, 사전 소송자가 우리가 이미 수행 한 작업을 시작하거나 수정하는 목적 역할을합니다.
우리는 Albert Base 모델의 힘을 짜기위한 실험을 거의 수행하지 않았습니다 (개념은 모든 모델에 적용 가능하며 TF 변환기에는 상자가 없습니다.)
아이디어는 모델의 각 계층에서 지정된 작업의 손실을 최소화하고 각 계층에서 예측을 확인합니다. 실험에 따르면, 우리는 가장 작은 작은 모델 ( Albert 덕분에)을 얻을 수 있으며, Layer 4 에서 접착제 벤치 마크의 작은 모델을 모두 이겼습니다. 계층 6 에 의해, 우리는 접착제 점수를 81.0 으로 얻었으며, 이는 접착제 점수가 77 , Mobilebert 접착제 점수는 78 로 4 점 앞서 있습니다.
Albert 모델에는 1,400 만 개의 매개 변수가 있으며 계층 6을 사용하여 계산 속도를 50% 높일 수있었습니다.
이 개념은 모든 모델과 작업에 적용 할 수 있습니다.
코드 + 더 읽기
입력 시퀀스를 블록주의로 나누고 FFN 층을 사용하여 병합함으로써, 작은 기계는 단일 V100 GPU 머신에서 최대 4096 개의 토큰의 시퀀스 처리를 수행 할 수 있음을 보여주었습니다. 이 모델은 PubMed 요약에서 Pegasus Base (128 million) 60 million 억 2,800 만)보다 성능이 우수했습니다.

코드 + 더 읽기
TF-Transformers는 현재 다음 아키텍처를 제공합니다.
이제 TF-Transformers 라이브러리를 인용 할 수있는 페이지가 있습니다.