🌊

GiNZA+ spaCy[apple] on MacBook pro 2021 (M1 pro)

2022/02/24に公開

1. 概要

MacBook pro 2021 (M1 pro)購入したので。 + spaCyがM1最適化されたらしいので、今まで Docker で使っていた GiNZA を conda(miniforge3)環境でセットアップ。
数カ所はまったので解決方法のメモ(2022 年 2 月 24 日現在の状況)

2. MiniforgeでPython - Conda環境の構築

  1. 本家のインストラクションに従って、$ brew install miniforgeで miniforge インストール。
  2. $ conda create -n ginza python=3.9で仮想環境構築(注:Python=3.10 では GiNZA5.10 はインストール出来ず)
  3. $ conda activate ginzaで GiNZA 用の仮想環境をたちあげ。

3. GiNZAのインストール

  1. GiNZA のインストール試みるも SudachiPy がインストール出来ないというエラー。
  2. GiNZA で必要となる SudachiPy のインストールに Rust の ToolChain と setuptools_rust が必要との下記の情報に従って両者をインストール。

https://qiita.com/eiennohito/items/20472187b236cf45fe12

ARMのMac (Apple Silicon) の場合は追加のステップが必要です。
ARMのMacの場合はバイナリーのパッケージはまだ存在していないので、ビルドのためにRustのToolchainとPythonのパッケージも必要になります。

  1. $ pip install setuptools_rust
  2. いよいよ、$ pip install -U ginza ja_ginza_electraで Transformer base の GiNZA をインストール。
  3. $ pip install -U "spacy[apple]"で spayCy を M1 最適化版に。実際にはほとんどのパッケージが更新はされずthinc-apple-opsが追加される
$ pip install -U "spacy[apple]

<<前半略>>

Installing collected packages: thinc-apple-ops
Successfully installed thinc-apple-ops-0.0.5

しかし…インストールは出来るが、ginza command がエラーで起動出来ない…。

$ ginza
Cannot find the requested files in the cached path and outgoing traffic has been disabled. To enable model look-ups and downloads online, set 'local_files_only' to False.
trying to download model from huggingface hub: /var/folders/15/1c1dfc7907771c2y8j8x88n00000gn/T/tmptq0kukt9/config.json ...
Traceback (most recent call last):
<<以下略>>

調べてみると、spacy-transformers のバージョンに問題有りとの記事発見。

https://note.com/lizefield/n/n3c8ff643f88a#546bd8b3-4f7c-4430-9360-2f2efa5c4c2a

4. spacy-transformersのダウンバージョン

上記に従って spacy-transformaers のバージョン確認するとたしかに 1.1.4 となっている。

  1. pip install spacy-transformers==1.1.3して、バージョンダウンする。

これで無事に環境構築完了。

Discussion