한우-슈 (Han-Wu-Shuang) (브루스) 바오
? Psychbruce.github.io
library(FMAT) 정보를 참조하십시오. FMAT를 사용하려면 R 패키지 FMAT 및 3 개의 Python 패키지 ( transformers , torch , huggingface-hub )가 모두 설치되어야합니다.
# # Method 1: Install from CRAN
install.packages( " FMAT " )
# # Method 2: Install from GitHub
install.packages( " devtools " )
devtools :: install_github( " psychbruce/FMAT " , force = TRUE )Anaconda (파이썬, 스파이더와 같은 파이썬 IDE 및 필요한 파이썬 패키지 의존성 목록을 자동으로 설치하는 권장 패키지 관리자)를 설치하십시오.
Rstudio에서 Anaconda의 Python 통역사를 지정하십시오.
Rstudio → 도구 → 글로벌/프로젝트 옵션
→ 파이썬 → 선택 → 콘다 환경
→ ".../anaconda3/python.exe"를 선택하십시오.
Python 패키지 "Transformers", "Torch"및 "Huggingface-Hub"의 특정 버전을 설치하십시오.
(rstudio 터미널 / 아나콘다 프롬프트 / Windows 명령)
CPU 사용자의 경우 :
pip install transformers==4.40.2 torch==2.2.1 huggingface-hub==0.20.3
GPU (CUDA) 사용자 :
pip install transformers==4.40.2 huggingface-hub==0.20.3
pip install torch==2.2.1 --index-url https://download.pytorch.org/whl/cu121
HTTPSConnectionPool(host='huggingface.co', port=443) 이 오류가 표시되면 (1) 몇 가지 알려지지 않은 문제가 수정되거나 (2) "urllib3"패키지를 버전 ≤ pip install urllib3==1.25.11 로 다운 그레이드하여 http prox를 사용하여 http prox를 사용하게됩니다. 포옹 얼굴에 연결합니다. BERT_download() 사용하여 [Bert Models]를 다운로드하십시오. 모델 파일은 로컬 폴더에 저장됩니다. "%userProfile%/. 캐시/껴안는다" Hugging Face에서 Bert 모델의 전체 목록을 사용할 수 있습니다.
BERT_info() 및 BERT_vocab() 사용하여 BERT 모델의 자세한 정보를 찾으십시오.
설계 쿼리는 당신이 측정 할 구성을 개념적으로 나타내는 쿼리를 개념적으로 표현합니다 (쿼리 설계 방법은 BAO, 2024, JPSP 참조).
FMAT_query() 및/또는 FMAT_query_bind() 사용하여 data.table 준비하십시오.
추가 분석을 위해 FMAT_run() 사용하여 원시 데이터 (확률 추정)를 얻으십시오.
더 쉽게 사용하기 위해 기능에 몇 가지 전처리 단계가 포함되어 있습니다 (자세한 내용은 FMAT_run() 참조).
[MASK] 대신 <mask> 사용하는 Bert 변형의 경우, 입력 쿼리는 자동으로 수정되어 사용자가 항상 쿼리 설계에서 [MASK] 사용할 수 있습니다.u0120 및 u2581 과 같은 특수 접두사 문자는 [MASK] 의 서브 워드가 아닌 전체 단어와 일치하도록 자동으로 추가됩니다. 기본적으로 FMAT 패키지는 CPU를 사용하여 모든 사용자의 기능을 활성화합니다. 그러나 GPU로 파이프 라인을 가속화하려는 고급 사용자의 경우 FMAT_run() 기능은 이제 CPU보다 약 3 배 빠른 GPU 장치를 사용하여 지원합니다.
테스트 결과 (Bert 모델 크기에 따라 개발자의 컴퓨터) :
체크리스트 :
torch 패키지)를 설치하십시오.torch 버전을 설치 한 경우 먼저 제거를 제거한 다음 제안 된 pip uninstall torch 설치 한 다음 제안 된 것을 설치하십시오.torch 버전의 경우 동일한 버전의 CUDA Toolkit 12.1도 설치 될 수 있음). CUDA 지원으로 Pytorch 설치를위한 코드 예 :
(rstudio 터미널 / 아나콘다 프롬프트 / Windows 명령)
pip install torch==2.2.1 --index-url https://download.pytorch.org/whl/cu121
다음 12 개의 대표적인 BERT 모델의 신뢰성과 타당성은 저의 연구 기사에서 설정되었지만 다른 모델의 성능을 조사하기 위해 향후 작업이 필요합니다.
(포옹 페이스의 모델 이름 - 다운로드 된 모델 파일 크기)
Bert를 처음 사용하는 경우이 참조는 도움이 될 수 있습니다.
library( FMAT )
models = c(
" bert-base-uncased " ,
" bert-base-cased " ,
" bert-large-uncased " ,
" bert-large-cased " ,
" distilbert-base-uncased " ,
" distilbert-base-cased " ,
" albert-base-v1 " ,
" albert-base-v2 " ,
" roberta-base " ,
" distilroberta-base " ,
" vinai/bertweet-base " ,
" vinai/bertweet-large "
)
BERT_download( models ) ℹ Device Info:
R Packages:
FMAT 2024.5
reticulate 1.36.1
Python Packages:
transformers 4.40.2
torch 2.2.1+cu121
NVIDIA GPU CUDA Support:
CUDA Enabled: TRUE
CUDA Version: 12.1
GPU (Device): NVIDIA GeForce RTX 2050
── Downloading model "bert-base-uncased" ──────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 570/570 [00:00<00:00, 114kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 48.0/48.0 [00:00<00:00, 23.9kB/s]
vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 1.50MB/s]
tokenizer.json: 100%|██████████| 466k/466k [00:00<00:00, 1.98MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 440M/440M [00:36<00:00, 12.1MB/s]
✔ Successfully downloaded model "bert-base-uncased"
── Downloading model "bert-base-cased" ────────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 570/570 [00:00<00:00, 63.3kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 49.0/49.0 [00:00<00:00, 8.66kB/s]
vocab.txt: 100%|██████████| 213k/213k [00:00<00:00, 1.39MB/s]
tokenizer.json: 100%|██████████| 436k/436k [00:00<00:00, 10.1MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 436M/436M [00:37<00:00, 11.6MB/s]
✔ Successfully downloaded model "bert-base-cased"
── Downloading model "bert-large-uncased" ─────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 571/571 [00:00<00:00, 268kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 48.0/48.0 [00:00<00:00, 12.0kB/s]
vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 1.50MB/s]
tokenizer.json: 100%|██████████| 466k/466k [00:00<00:00, 1.99MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 1.34G/1.34G [01:36<00:00, 14.0MB/s]
✔ Successfully downloaded model "bert-large-uncased"
── Downloading model "bert-large-cased" ───────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 762/762 [00:00<00:00, 125kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 49.0/49.0 [00:00<00:00, 12.3kB/s]
vocab.txt: 100%|██████████| 213k/213k [00:00<00:00, 1.41MB/s]
tokenizer.json: 100%|██████████| 436k/436k [00:00<00:00, 5.39MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 1.34G/1.34G [01:35<00:00, 14.0MB/s]
✔ Successfully downloaded model "bert-large-cased"
── Downloading model "distilbert-base-uncased" ────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 483/483 [00:00<00:00, 161kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 48.0/48.0 [00:00<00:00, 9.46kB/s]
vocab.txt: 100%|██████████| 232k/232k [00:00<00:00, 16.5MB/s]
tokenizer.json: 100%|██████████| 466k/466k [00:00<00:00, 14.8MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 268M/268M [00:19<00:00, 13.5MB/s]
✔ Successfully downloaded model "distilbert-base-uncased"
── Downloading model "distilbert-base-cased" ──────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 465/465 [00:00<00:00, 233kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 49.0/49.0 [00:00<00:00, 9.80kB/s]
vocab.txt: 100%|██████████| 213k/213k [00:00<00:00, 1.39MB/s]
tokenizer.json: 100%|██████████| 436k/436k [00:00<00:00, 8.70MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 263M/263M [00:24<00:00, 10.9MB/s]
✔ Successfully downloaded model "distilbert-base-cased"
── Downloading model "albert-base-v1" ─────────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 684/684 [00:00<00:00, 137kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 25.0/25.0 [00:00<00:00, 3.57kB/s]
spiece.model: 100%|██████████| 760k/760k [00:00<00:00, 4.93MB/s]
tokenizer.json: 100%|██████████| 1.31M/1.31M [00:00<00:00, 13.4MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 47.4M/47.4M [00:03<00:00, 13.4MB/s]
✔ Successfully downloaded model "albert-base-v1"
── Downloading model "albert-base-v2" ─────────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 684/684 [00:00<00:00, 137kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 25.0/25.0 [00:00<00:00, 4.17kB/s]
spiece.model: 100%|██████████| 760k/760k [00:00<00:00, 5.10MB/s]
tokenizer.json: 100%|██████████| 1.31M/1.31M [00:00<00:00, 6.93MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 47.4M/47.4M [00:03<00:00, 13.8MB/s]
✔ Successfully downloaded model "albert-base-v2"
── Downloading model "roberta-base" ───────────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 481/481 [00:00<00:00, 80.3kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 25.0/25.0 [00:00<00:00, 6.25kB/s]
vocab.json: 100%|██████████| 899k/899k [00:00<00:00, 2.72MB/s]
merges.txt: 100%|██████████| 456k/456k [00:00<00:00, 8.22MB/s]
tokenizer.json: 100%|██████████| 1.36M/1.36M [00:00<00:00, 8.56MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 499M/499M [00:38<00:00, 12.9MB/s]
✔ Successfully downloaded model "roberta-base"
── Downloading model "distilroberta-base" ─────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 480/480 [00:00<00:00, 96.4kB/s]
→ (2) Downloading tokenizer...
tokenizer_config.json: 100%|██████████| 25.0/25.0 [00:00<00:00, 12.0kB/s]
vocab.json: 100%|██████████| 899k/899k [00:00<00:00, 6.59MB/s]
merges.txt: 100%|██████████| 456k/456k [00:00<00:00, 9.46MB/s]
tokenizer.json: 100%|██████████| 1.36M/1.36M [00:00<00:00, 11.5MB/s]
→ (3) Downloading model...
model.safetensors: 100%|██████████| 331M/331M [00:25<00:00, 13.0MB/s]
✔ Successfully downloaded model "distilroberta-base"
── Downloading model "vinai/bertweet-base" ────────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 558/558 [00:00<00:00, 187kB/s]
→ (2) Downloading tokenizer...
vocab.txt: 100%|██████████| 843k/843k [00:00<00:00, 7.44MB/s]
bpe.codes: 100%|██████████| 1.08M/1.08M [00:00<00:00, 7.01MB/s]
tokenizer.json: 100%|██████████| 2.91M/2.91M [00:00<00:00, 9.10MB/s]
→ (3) Downloading model...
pytorch_model.bin: 100%|██████████| 543M/543M [00:48<00:00, 11.1MB/s]
✔ Successfully downloaded model "vinai/bertweet-base"
── Downloading model "vinai/bertweet-large" ───────────────────────────────────────
→ (1) Downloading configuration...
config.json: 100%|██████████| 614/614 [00:00<00:00, 120kB/s]
→ (2) Downloading tokenizer...
vocab.json: 100%|██████████| 899k/899k [00:00<00:00, 5.90MB/s]
merges.txt: 100%|██████████| 456k/456k [00:00<00:00, 7.30MB/s]
tokenizer.json: 100%|██████████| 1.36M/1.36M [00:00<00:00, 8.31MB/s]
→ (3) Downloading model...
pytorch_model.bin: 100%|██████████| 1.42G/1.42G [02:29<00:00, 9.53MB/s]
✔ Successfully downloaded model "vinai/bertweet-large"
── Downloaded models: ──
size
albert-base-v1 45 MB
albert-base-v2 45 MB
bert-base-cased 416 MB
bert-base-uncased 420 MB
bert-large-cased 1277 MB
bert-large-uncased 1283 MB
distilbert-base-cased 251 MB
distilbert-base-uncased 256 MB
distilroberta-base 316 MB
roberta-base 476 MB
vinai/bertweet-base 517 MB
vinai/bertweet-large 1356 MB
✔ Downloaded models saved at C:/Users/Bruce/.cache/huggingface/hub (6.52 GB)
BERT_info( models ) model size vocab dims mask
<fctr> <char> <int> <int> <char>
1: bert-base-uncased 420MB 30522 768 [MASK]
2: bert-base-cased 416MB 28996 768 [MASK]
3: bert-large-uncased 1283MB 30522 1024 [MASK]
4: bert-large-cased 1277MB 28996 1024 [MASK]
5: distilbert-base-uncased 256MB 30522 768 [MASK]
6: distilbert-base-cased 251MB 28996 768 [MASK]
7: albert-base-v1 45MB 30000 128 [MASK]
8: albert-base-v2 45MB 30000 128 [MASK]
9: roberta-base 476MB 50265 768 <mask>
10: distilroberta-base 316MB 50265 768 <mask>
11: vinai/bertweet-base 517MB 64001 768 <mask>
12: vinai/bertweet-large 1356MB 50265 1024 <mask>
(개발자의 컴퓨터에서 2024-05-16 테스트 : HP Probook 450 G10 노트북 PC)
FMAT는 심리학 및 사회의 계산 지능 분석을위한 혁신적인 방법이지만 다른 텍스트 분석 방법에 대한 통합 도구 상자를 찾을 수도 있습니다. 내가 개발 한 또 다른 R 패키지 --- PsychwordVec ---는 단어 임베딩 분석 (예 : Word Embedding Association Test, WEAT)에 유용하고 사용자 친화적입니다. 문서를 참조하고 자유롭게 사용하십시오.