Roberta 모델에 사용 된 토크 나이저를 이해하기 어려움

NLP 씨
from transformers import AutoModel, AutoTokenizer

tokenizer1 = AutoTokenizer.from_pretrained("roberta-base")
tokenizer2 = AutoTokenizer.from_pretrained("bert-base-cased")

sequence = "A Titan RTX has 24GB of VRAM"
print(tokenizer1.tokenize(sequence))
print(tokenizer2.tokenize(sequence))

산출:

[ 'A', 'ĠTitan', 'ĠRTX', 'Ġhas', 'Ġ24', 'GB', 'Ġof', 'ĠVR', 'AM']

[ 'A', '타이탄', 'R', '## T', '## X', 'has', '24', '## GB', 'of', 'V', '## 램']

Bert 모델은 WordPiece 토크 나이저를 사용합니다. WordPiece 어휘에 나오지 않는 단어는 탐욕스럽게 하위 단어로 분류됩니다. 예를 들어, 'RTX'는 'R', '## T'및 '## X'로 나뉩니다. 여기서 ##은 하위 토큰임을 나타냅니다.

Roberta는 BPE 토크 나이저를 사용하지만 이해할 수 없습니다.

a) BPE 토크 나이 저는 어떻게 작동합니까?

b) G는 각 토큰에서 무엇을 나타 냅니까?

Dennlinger

이 질문은 매우 광범위하므로 당면한 주요 문제에 초점을 맞춘 답변을 제공하려고합니다. 다른 질문에 대한 답변이 필요하다고 생각되면 한 번하나의 질문에 초점을 맞춘 다른 질문을여십시오 . Stackoverflow에 대한 [help / on-topic] 규칙을 참조하십시오.

기본적으로 올바르게 식별했듯이 BPE는 현대 딥 네트워크의 모든 토큰 화에 핵심입니다. Sennrich 등원본 BPE 논문 을 읽을 것을 강력히 권장합니다 . , BPE의 역사를 조금 더 강조합니다.
어쨌든 껴안는 얼굴 모델에 대한 토크 나이 저는 사전 훈련되어 있으며 이는 일반적으로 알고리즘의 훈련 세트에서 미리 생성된다는 것을 의미합니다. SentencePiece 와 같은 일반적인 구현 도 좀 더 잘 이해할 수 있지만 기본적으로 작업은 제한된 최적화 문제로 구성됩니다. 여기서 k허용되는 어휘 의 최대 수 (제약) 를 지정 하면 알고리즘 이 최대한 많은 단어를 유지하려고합니다. 초과하지 않고 그대로 단어 k.

전체 어휘를 ​​포함 할 수있는 단어가 충분하지 않은 경우 어휘를 근사화하는 데 더 작은 단위가 사용되며, 그 결과 귀하가 제공 한 예에서 관찰 된 분할이 발생합니다. RoBERTa는 " byte-level BPE " 라는 변형을 사용합니다 . 이 연구에서 Wang et al. . 가장 큰 이점은 내가 이해하는 것에서 분할의 품질을 유지하면서 어휘를 더 적게 생성한다는 것입니다.

질문의 두 번째 부분은 설명하기가 더 쉽습니다. BERT 는 두 개의 후속 토큰 (와 함께 ) 병합강조하는 반면 ##, RoBERTa의 토크 나이 저는 대신 특정 유니 코드 문자 (이 경우, 점이있는 G)로 새 토큰시작을 강조합니다 \u0120. 내가 찾을 수있는 가장 좋은 이유는 기본적으로 훈련에서 공백을 사용하지 않는다고 주장하는 이 스레드 였습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Pytorch의 사전 훈련 된 모델에서 저장된 토크 나이저를로드하는 방법

분류에서Dev

JavaScript에서 단순화 된 차용 검사기를 구현하기 어려움

분류에서Dev

regexp를 사용하여 생성 된 길이 n의 토크 나이저

분류에서Dev

chromedriver로 크롬에 내장 된 사용자 데이터 디렉토리를 어떻게 설정하나요?

분류에서Dev

Python 사전에 JSON 출력-이해하기 어려움

분류에서Dev

'할당 전에 참조 된 지역 변수'를 이해하기 어려움

분류에서Dev

타이프 스크립트를 사용하여 데코레이터 출력을 이해하기 어려움

분류에서Dev

tf.keras를 사용하여 저장된 모델에서 레이어에 액세스하는 방법

분류에서Dev

malloc ()을 사용하여 메모리를 올바르게 할당하는 방법을 이해하기 어려움

분류에서Dev

Spacy에서 사용자 정의 토크 나이저를 사용하여 공백없이 문자열 토큰 화

분류에서Dev

세션에 저장된 Sails.js 모델이 사용자 지정 인스턴스 메서드를 잃어 버리나요?

분류에서Dev

도메인 텍스트를 사용하여 BERT / RoBERTa 언어 모델을 사전 학습합니다. 예상되는 시간은 얼마나됩니까? 어느 것이 더 빠릅니까?

분류에서Dev

버튼 기능을 사용하여 PyGame에서 "3 플레이어 모드"를 추가하기 어려움

분류에서Dev

훈련 된 GloVe / word2vec 모델을 사용하여 기사에서 키워드를 추출하려면 어떻게해야합니까?

분류에서Dev

InsertParameters를 사용하여 asp.net에 사용자 이름을 저장하는 데 어려움이 있음 (vb)

분류에서Dev

Node API를 사용하여 Google Cloud Storage에서 지정된 이미지 크기를 반환하려면 어떻게해야합니까?

분류에서Dev

Android에서 이미지 크기를 조정하여 확장 된 알림에 사용하려면 어떻게해야합니까?

분류에서Dev

blogdown에서 new_post를 사용하기 어려움

분류에서Dev

Elasticsearch에서 이메일 토크 나이저 사용

분류에서Dev

Lisp의 중첩 된 표현식을 이해하기 어려움

분류에서Dev

해당 div에서 동일한 이미지 크기를 갖도록 div를 만들려면 어떻게해야합니까? 하지만 웹 사이트의 모든 이미지에 대해 여전히 일관된 크기를 가지고 있습니까?

분류에서Dev

puppet 스크립트를 사용하여 Mac OS X에서 압축 해제 도구를 설치하는 데 어려움이 있음

분류에서Dev

로컬 스토리지를 사용하여 저장된 어레이에서 객체를 제거하려면 어떻게합니까?

분류에서Dev

MVC에서 수퍼 모델에 객체로 저장된 모델에서 데이터를 검색하려면 어떻게해야합니까?

분류에서Dev

Ember 데이터를 사용하여 중첩 된 모델 저장

분류에서Dev

find를 사용하여 발견 된 모든 파일을 동일한 디렉토리의 새 이름으로 복사하려면 어떻게해야합니까?

분류에서Dev

어떻게 하이퍼 링크 클릭으로 웹 사이트 그러나 쇼에 MySQL 데이터베이스 테이블에 저장된 웹 사이트 링크를 표시하려면?

분류에서Dev

사전 훈련 된 BERT 토크 나이저를 저장할 이유가 있습니까?

분류에서Dev

하위 쿼리를 사용하여 여러 테이블에서 데이터를 선택하기 어려움

Related 관련 기사

  1. 1

    Pytorch의 사전 훈련 된 모델에서 저장된 토크 나이저를로드하는 방법

  2. 2

    JavaScript에서 단순화 된 차용 검사기를 구현하기 어려움

  3. 3

    regexp를 사용하여 생성 된 길이 n의 토크 나이저

  4. 4

    chromedriver로 크롬에 내장 된 사용자 데이터 디렉토리를 어떻게 설정하나요?

  5. 5

    Python 사전에 JSON 출력-이해하기 어려움

  6. 6

    '할당 전에 참조 된 지역 변수'를 이해하기 어려움

  7. 7

    타이프 스크립트를 사용하여 데코레이터 출력을 이해하기 어려움

  8. 8

    tf.keras를 사용하여 저장된 모델에서 레이어에 액세스하는 방법

  9. 9

    malloc ()을 사용하여 메모리를 올바르게 할당하는 방법을 이해하기 어려움

  10. 10

    Spacy에서 사용자 정의 토크 나이저를 사용하여 공백없이 문자열 토큰 화

  11. 11

    세션에 저장된 Sails.js 모델이 사용자 지정 인스턴스 메서드를 잃어 버리나요?

  12. 12

    도메인 텍스트를 사용하여 BERT / RoBERTa 언어 모델을 사전 학습합니다. 예상되는 시간은 얼마나됩니까? 어느 것이 더 빠릅니까?

  13. 13

    버튼 기능을 사용하여 PyGame에서 "3 플레이어 모드"를 추가하기 어려움

  14. 14

    훈련 된 GloVe / word2vec 모델을 사용하여 기사에서 키워드를 추출하려면 어떻게해야합니까?

  15. 15

    InsertParameters를 사용하여 asp.net에 사용자 이름을 저장하는 데 어려움이 있음 (vb)

  16. 16

    Node API를 사용하여 Google Cloud Storage에서 지정된 이미지 크기를 반환하려면 어떻게해야합니까?

  17. 17

    Android에서 이미지 크기를 조정하여 확장 된 알림에 사용하려면 어떻게해야합니까?

  18. 18

    blogdown에서 new_post를 사용하기 어려움

  19. 19

    Elasticsearch에서 이메일 토크 나이저 사용

  20. 20

    Lisp의 중첩 된 표현식을 이해하기 어려움

  21. 21

    해당 div에서 동일한 이미지 크기를 갖도록 div를 만들려면 어떻게해야합니까? 하지만 웹 사이트의 모든 이미지에 대해 여전히 일관된 크기를 가지고 있습니까?

  22. 22

    puppet 스크립트를 사용하여 Mac OS X에서 압축 해제 도구를 설치하는 데 어려움이 있음

  23. 23

    로컬 스토리지를 사용하여 저장된 어레이에서 객체를 제거하려면 어떻게합니까?

  24. 24

    MVC에서 수퍼 모델에 객체로 저장된 모델에서 데이터를 검색하려면 어떻게해야합니까?

  25. 25

    Ember 데이터를 사용하여 중첩 된 모델 저장

  26. 26

    find를 사용하여 발견 된 모든 파일을 동일한 디렉토리의 새 이름으로 복사하려면 어떻게해야합니까?

  27. 27

    어떻게 하이퍼 링크 클릭으로 웹 사이트 그러나 쇼에 MySQL 데이터베이스 테이블에 저장된 웹 사이트 링크를 표시하려면?

  28. 28

    사전 훈련 된 BERT 토크 나이저를 저장할 이유가 있습니까?

  29. 29

    하위 쿼리를 사용하여 여러 테이블에서 데이터를 선택하기 어려움

뜨겁다태그

보관