Dockerã䜿ã£ãŠOpenAIã®Whisperããµã¯ããšè©Šã
å°ãåããçéãè³ãããŠããWhisperã
ã©ãããã¹ãŽã€ãããã
å¬ããããšã«
- æ¥æ¬èªå¯Ÿå¿
- ãããç¡æ
ãšãã倪ã£è ¹ã·ãã
ã¢ãŒããã¯ãã£ã»ã©ããªã«ã¹ãŽã€ããã£é£ã°ããŠãç°å¢ã€ããïŒãã¹ããã«çŠç¹ãåœãŠãŸãã
ïŒColabã®èšäºã¯æ¢ã«ããã€ããã£ãã®ã§ãdockerã䜿ã£ãç°å¢æ§ç¯ãæ³å®ããŠæžããŸããïŒ
çµè«ããèšããšãããã£ã¡ãç°¡åãã§ããã
ããããã®ã£ãŠãããã©ãããå€ããªãšæã£ãŠãåå¿é²ãšããŠæžããã®ã§ãããç°¡åã ã£ãã®ã§å
容ãèãã§ããã
ãšãã«ããè§Šã£ãŠã¿ãã
huggingfaceããããã¢ãå ¬éããŠãããŠããŸãïŒãã€ããäžè©±ã«ãªããŸãïŒã
æã£åãæ©ã詊ããã人ã¯ãããã詊ããšè¯ãã§ãããã
ç°å¢æ§ç¯ïŒCPUïŒ
ç°å¢ã¯ubuntuã§ãã
ãããªæãã§DOCKERFILEãäœããŸãã
FROM python:3.9-slim
WORKDIR /workspace
RUN apt-get update && apt-get install -y \
build-essential \
gcc \
git \
ffmpeg \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip
RUN pip install git+https://github.com/openai/whisper.git
ãããããDOCKERFILEã®ãããã£ã¬ã¯ããªã§ä»¥äžãå®è¡ããŸãã
ã€ã¡ãŒãžãbuildããŸãã
docker build -t whisper .
ã«ã¬ã³ããã£ã¬ã¯ããªãããŠã³ãããç¶æ ã§ã€ã¡ãŒãžãèµ·åããŸãã
docker run -it -d -v $(pwd):/workspace/ --name whisper whisper
ãã¹ãçšã®é³å£°ãã¡ã€ã«ãçšæããŸãã
èªåã§çšæããŠãè¯ãã§ãããä»åã¯ããã®ç¡æãã¡ã€ã«ãããŠã³ããŒãããŠäœ¿ããŸããã
ãŸãã¯ãäžçªäžã®ãCMåçš¿ïŒãã£ããïŒãã®é³å£°ã§è©ŠããŠã¿ãŸãã
ïŒã¡ãªã¿ã«ããã¯éåžžã«ã¯ãªã¢ã§èãåããããé³å£°ã§ããïŒ
mp3ãã¡ã€ã«ã¯ã«ã¬ã³ããã£ã¬ã¯ããªã«æã£ãŠããŠãããŸãã
次ã«ã³ã³ããã«å ¥ããŸãã
docker exec -it whisper bash
ã³ãã³ãã©ã€ã³ããã ãšã以äžã®ããã«é³å£°ãã¡ã€ã«ãšèšèªãæå®ããã ãã§ãã
whisper 001-sibutomo.mp3 --language ja
ããã©ã«ãã ãšã¢ãã«ã®ãsmallãã䜿çšãããŸãã
ã³ãã³ãã©ã€ã³ããåããå Žåãããã ãã§ãã
ãã¶ããããã©ããã¯ãããŸããã
çµæ
ãŸãã以äžãæ£ããæžãèµ·ããã§ãã
ç¡æ·»å ã®ã·ã£ãã³çç³é¹žãªãããå®å¿ã倩ç¶ã®ä¿æ¹¿æåãå«ãŸããããèã«æœ€ããäžããå¥ããã«ä¿ã¡ãŸãã
ãèã®ããšã§ãæ©ã¿ã®æ¹ã¯æ¯éäžåºŠç¡æ·»å ã·ã£ãã³çç³é¹žãã詊ããã ããã
ãæ±ãã¯0120 005595ãŸã§ã
whisperã®çµæãèŠãŠã¿ãŸãã
ç¡å€©äžã®ã·ã£ãã³çç³ç¬ãªãããå®å¿ã倩ç¶ã®ä¿æ¹¿æåãå«ãŸããããèã«æœ€ããäžããå°ããã«ä¿ã¡ãŸãã
ãèã®ããšã§ãæ©ã¿ã®æ¹ã¯æ¯éäžåºŠç¡å€©äžã·ã£ãã³çç³ç¬ãã詊ããã ããã
ãæ±ãã¯0120 005595ãŸã§ã
ãšããã©ãããééãã¯ãããã®ã®è¯ãããããªãã§ããããã
ãã£ãããªã®ã§ãlargeã§ã詊ããŠã¿ãŸããã
whisper 001-sibutomo.mp3 --language ja --model large
çµæã¯ä»¥äžã®ãšããã§ãã
ç¡æ·»å ã®ã·ã£ãã³çç³é¹žãªããããå®å¿!
倩ç¶ã®ä¿æ¹¿æåãå«ãŸãããããèã«æœ€ããäžããããããã«ä¿ã¡ãŸãã
ãèã®ããšã§ãæ©ã¿ã®æ¹ã¯ããã²äžåºŠãç¡æ·»å ã·ã£ãã³çç³é¹žãã詊ããã ããã
ãæ±ãã¯ã0120-0055-95ãŸã§ã
ããå®ç§ã§ãããææã«åãããŠããïŒãã€ããŠããããå¥èªç¹ãããŒãã§ã¯ããé»è©±çªå·ãã¡ãããšãã€ãã³å ¥ããŸãããããã¹ãŽããã
ã¡ãªã¿ã«Azureã®ãã¢ã ãšä»¥äžã®çµæã§ããã
ç¡æ·»å ã®ã·ã£ãã³çç³é¹žãªãããå®å¿ã 倩ç¶ã®ä¿æ¹¿æåãå«ãŸãããããèã«æœ€ããäžããå¥ããã«ä¿ã¡ãŸãã ãèã®ããšã§ãæ©ã¿ã®æ¹ã¯æ¯é**1°**ç¡æ·»å ã·ã£ãã³çç³é¹žãã詊ããã ããã ãæ±ãã¯0120005595ãŸã§ã
ã1°ãã¯homophoneïŒé³å£°ã¯åãã ããæå³ãç°ãªãåèªïŒã§ããããã以å€ã¯åé¡ãªãããã§ããã
ãŸãé³å£°ãéåžžã«ã¯ãªã¢ã§èãããã声ãªã®ã§ããã®ãããã ãšä»ã®ã¢ãã«ã«ãšã£ãŠã¯ç°¡åãªã®ãããããªãã§ããã
次ã¯ãå»çWEBãã©ããå»åž«åœ¹ããšæžãããå»ççšèªãå€ãå«ãã é³å£°ã§è©ŠããŸãã
ãŸãã¯æ£ããæžãèµ·ããã§ãã
è¡ç®¡åçž®ã«ã¯è¡ç®¡å¹³æ»ç现èå ã®ã«ã«ã·ãŠã ããŒããé¢äžããŠãããè¡ç®¡å¹³æ»ç现èå ãžã®ã«ã«ã·ãŠã æµå ¥ããããã¯ããã°è¡ç®¡åçž®ãæå¶ã§ããŸãããããè¿å¹Žãã«ã«ã·ãŠã æµå ¥ãšã¯ç¬ç«ããçµè·¯ãšããŠããã¯ãèŠåºãããè¡ç®¡åçž®ã«æ·±ãé¢äžããŠããããšãæããã«ãªããŸããã
次ã«smallã§ã®æžãèµ·ããçµæã§ãã
è¡ç®¡åçž®ã«ã¯è¡ç®¡äœµæŽ»é现èå ã®ã«ã«ã·ãŠã ããŒããé¢äžããŠãããè¡ç®¡äœµæŽ»é现èå ãžã®ã«ã«ã·ãŠã æµå ¥ããããã¯ããã°è¡ç®¡åçž®ãæå¶ã§ããŸãããããè¿å¹Žãã«ã«ã·ãŠã æµå ¥ãšã¯ç¬ç«ããçµè·¯ãšããŠããã¯ãèŠåºãããè¡ç®¡åçž®ã«æ·±ãé¢äžããŠããããšãæããã«ãªããŸããã
largeã ãšä»¥äžã®ãšããã§ãã
è¡ç®¡åçž®ã«ã¯è¡ç®¡é掻è现èå ã®ã«ã«ã·ãŠã æ¿åºŠãé¢äžããŠãããè¡ç®¡é掻è现èå ãžã®ã«ã«ã·ãŠã æµå ¥ããããã¯ããã°ãè¡ç®¡åçž®ãæå¶ã§ããŸãããããè¿å¹Žãã«ã«ã·ãŠã æµå ¥ãšã¯ç¬ç«ããçµè·¯ãšããŠããã¯ãèŠåºãããè¡ç®¡åçž®ã«æ·±ãé¢äžããŠããããšãæããã«ãªããŸããã
ãããããå¹³æ»çãã¯æŒ¢åãæ£ãããªãã®ã§ããããã以å€ã¯åé¡ãªãããã§ããã
ïŒã¡ãªã¿ã«azureã ãšãå¹³æ»çããå«ããŠããã¬ã€ã«æžãèµ·ããã§ããŠããŸãããïŒ
ä»åã¯2ã€ãšãé³å£°èªäœã¯éåžžã«è¯è³ªã ã£ãããšãããããã®çšåºŠã ãšå
šç¶èŠã«ããªãå°è±¡ã§ãã
ïŒãã£ãšæ¥åžžã«è¿ãã¬ãã«ã®éšé³ã»éé³ç°å¢ã§æ€èšŒããŠã¿ããã§ããïŒ
課é¡
æšè«æéã¯å®éçšãèããå Žåã®ããã«ããã¯ã«ãªãããã§ãã
èªåã®ç°å¢ã§ã¯CPUã®å Žåã¯20~30ç§ã®é³å£°ã§æšè«ã«smallã§1å匱ããããŸããã
largeã ãšã3åãããããã£ãŠãŸããã
ç°å¢æ§ç¯ïŒGPUïŒ
ãã£ãããªã®ã§ãGPUã§ã詊ããŠã¿ãŸãã
ãŸããcudaã«å¯Ÿå¿ããã€ã¡ãŒãžãäœããããDOCKERFILEã®å
é è¡ã以äžã®ããã«å€æŽããŸãã
- FROM python:3.9-slim
+ FROM pytorch/pytorch:1.9.0-cuda10.2-cudnn7-runtime
ãã·ã³ã®ãã©ã€ããŒã®ããŒãžã§ã³ã§ãªããšãšã©ãŒã«ãªãã®ã§ã以äžããé©ããããŒãžã§ã³ãéžæããŠãã ããã
buildã¯cpuã®å Žåãšåãã§ãã
docker build -t whisper_gpu
ã¯ãããŠdockerã§GPUã䜿ãå Žåãã³ã³ãããåããéãããŸããã·ã³ã®ãã©ã€ããŒãèªèã§ããã«ä»¥äžã®ãããªãšã©ãŒãåºããããããªãã§ãã
docker run --gpus all -it -d -v $(pwd):/workspace/ --name whisper_gpu whisper_gpu
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]
å
¬åŒã«åŸã£ãŠä»¥äžã®æé ã§nvidia-container-runtimeãã€ã³ã¹ããŒã«ããããšã§è§£æ±ºã§ããŸãã
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime
æåŸã«dockerãåèµ·åããŸãã
service docker restart
å床runã³ãã³ããåãããšããšã©ãŒãªãèµ·åã§ããŸãã
docker run --gpus all -it -d -v $(pwd):/workspace/ --name whisper_gpu whisper_gpu
åŸã¯ãcpuãšåãæé ã§åãããŸãã
docker exec -it whisper_gpu bash
å®è¡ç°å¢ã¯Quadro RTX 8000ïŒ48GBïŒãšå²ãšè¯ãGPUã䜿ã£ãã®ã§ããã
-
smallã§10ç§ -
largeã§30ç§
ãããã§ããã
çµèª
whisperã¹ãŽãããããŠæè»œã«è©ŠããŠè¯ãã
ãã®ãããã§å€§ããŠæ
å ±ã®ãªãèšäºã«ãªã£ãŠããŸããŸããã
Discussion