트윗이 인간이나 트윗 범주에 대해 훈련 된 신경망 언어 모델에서 나오는지 추측 해야하는 게임.
이 프로젝트는 모델 개발을 위해 다음과 같은 오픈 소스 프로젝트를 사용합니다.
일련의 사용자 이름에서 트위터 데이터를 긁어 내기위한 Twint. 일부 더 큰 데이터 세트의 경우 Scrapoxy는 Twitter의 IP 블랙리스트를 피하기위한 프록시 풀로 사용됩니다.
추가 데이터에서 열린 AI GPT-2 모델을 미세 조정하기위한 얼굴 변압기 포옹.
모델은 실시간 HTTP 엔드 포인트를 위해 모델 동물원에 배포됩니다.
Frontend React Application은 정적 트윗 데이터 세트와 모델 동물원 HTTP 엔드 포인트 주변의 래퍼입니다. 자세한 내용은 프론트 엔드 문서를 참조하십시오.
스크립트 download-tweets.sh 에는 Twitt를 Twint로 긁는 방법론이 포함되어 있습니다. 스크립트는 단일 인수 $name 수락하고 파일 sources/$name.txt 검색하여 스크랩 할 트위터 핸들 목록을 지정해야합니다. 스크래핑 스크립트는 일부 원유 휴리스틱을 적용하여 (1) 다른 트윗에 대한 답변이고 (2) 링크가있는 트윗을 걸러 내려고 시도합니다. 이 휴리스틱은 완벽하지는 않지만 충분히 잘 작동했습니다.
Twint가있는 여러 데이터 세트를 준비 할 때 Twitter가 종종 스크래핑 프로세스에 몇 분 동안 IP를 블랙리스트에 올렸다는 것을 알았습니다. 이 문제를 해결하기 위해 EC2에서 Scrapoxy를 사용하여 5 개의 다른 EC2 프록시 인스턴스에서 한 번에 긁어 냈습니다.
여러 데이터 세트가 AWS에서 공개적으로 준비되어 출시되었습니다.
| 데이터 세트 | 소스 파일 | AWS S3 URL |
|---|---|---|
| 벤처 캐피탈 | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/vc.txt | s3://modelzoo-datasets/text-generation/vc |
| 공화당 | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/republicans.txt | s3://modelzoo-datasets/text-generation/republicans |
| 민주당 | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/domocrats.txt | s3://modelzoo-datasets/text-generation/democrats |
| 코로나 19 | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/covid19.txt | s3://modelzoo-datasets/text-generation/covid19 |
공화당 및 민주당 트위터 핸들 목록을 제공해 주신 Minimaxir/Download-Tweets-AI-TextGen에게 감사드립니다.
Script train.py 에는 포옹 페이스 언어 모델링 예제와 크게 조정 된 프리트럴 인 무게를로드하고 모델을 미세 조정하는 코드가 포함되어 있습니다. 각 모델은 단일 K80 GPU로 훈련되었습니다. 모든 모델은 Covid-19를 제외한 단일 시대에 대해 훈련을 받았으며, 이는 약간 작은 데이터 세트였으며 두 개의 시대를 위해 훈련되었습니다. 모델 교육은 각 모델에 대해 6-16 시간 사이에 걸렸습니다.
하이퍼 파라미터 최적화 및 추가 실험으로 훈련 과정이 더욱 향상 될 수 있습니다. 이것은 독자에게 연습으로 남아 있습니다 :)
모델 동물원 transformers 지원 및 몇 줄의 코드를 사용하여 교육 후 모델이 자동으로 배포됩니다.
textgen = pipeline("text-generation", model=model, tokenizer=tokenizer)
modelzoo.transformers.deploy(
textgen,
model_name="..."
resources_config=modelzoo.ResourcesConfig(memory_mb=2048, cpu_units=1024),
)
교육 환경에서 $ modelzoo auth 실행하여 Model Zoo 계정에 생성하거나 로그인해야합니다. 또는 환경 변수 MODELZOO_API_KEY 설정할 수 있습니다.
자세한 내용은 modelzoo.transformers.deploy 참조하십시오.