業界: ソフトウェア開発

使用されている JetBrains 製品: PyCharm

組織規模: 30+

国: ドイツ

Scieneers

Scieneers はデータとデータから価値を引き出すことに情熱を注ぐ IT、データ、データサイエンスのエキスパート 35 人が所属する IT 企業です。貴重なインサイトを抽出し、データの可能性を最大化するため、集中的なデータエンジニアリングおよびデータサイエンスサービスを提供しています。

PyCharm には他の IDE とは異なる固有の機能一式が備わっています。信頼性の高い包括的なリファクタリング機能はその中で最も重要な機能です。高度な実行構成をサポートしていることも PyCharm ならではの特徴です。作業に必要なすべてのツールが 1 箇所に集約され、すぐに使用できる PyCharm は「コックピット」のようで気に入っています。

— Moritz Renftle、Scieneers GmbH データサイエンティスト

ご自身と御社の事業についてご紹介ください。

私はコンスタンツ大学とカールスルーエ工科大学(KIT)でデータベースとデータサイエンスを中心にコンピューターサイエンスを学びました。 Scieneers には 2022 年に入社して以来、多様な部門の企業向けにソリューションを開発し、提供しています。仕事ではデータ分析、カスタムモデルの開発、最近の機械学習技術に関する資料の読み込み、クラウドでのデータパイプラインのデプロイを含む広範なスキルセットが要求されています。

Scieneers は完全なデータ製品の設計と開発を行って本番環境で稼働できるようにお客様のチームを強化するか、弊社のチームを派遣しています。ビジネスや研究分野のお客様の他に非営利部門のプロジェクトも多数サポートしています。弊社の多様な活動の一部は弊社ウェブサイト(https://www.scieneers.de)に掲載されています。

PyCharm を主な IDE として選んだきっかけは何ですか?

何よりもまず、PyCharm の「コックピット感覚」が気に入っています。作業に必要なすべてのツールが集約され、素早くアクセスできる空間であるということです。コードエディター、バージョン管理システム、ターミナル、データベースブラウザーが 1 箇所にまとまっているため、PyCharm ではそれぞれを個々のアプリケーションで使用する場合よりもコンテキストを切り替える手間が減り、それに費やされる「脳エネルギー」も少なくて済みます。

さらに、PyCharm には他の IDE とは異なる固有の機能一式が備わっています。信頼性の高い包括的なリファクタリング機能はその中で最も重要な機能です。PyCharm はそのようなリファクタリングを他のツールと比較して非常に高い信頼性で実行するため、既存コードの動作を確実に維持してくれます。

高度な実行構成をサポートしていることも PyCharm ならではの特徴です。たとえば、リモートマシンでメインのアプリケーションを実行する前の「Before launch」タスクとして Python スクリプトをローカルで実行する実行構成を簡単にセットアップできます。

PyCharm のリモート SSH インタープリター統合も気に入っています。ネットワーク設定やその他の要因によって SSH インタープリターのセットアップに多少苦労することもありますが、一度動き始めたらかなり確実に動作します。さらに、リモートマシンでコードをデバッグする機能も重宝しています。たとえば、ローカルではテストできない特定の GPU を搭載したリモートマシンで機械学習モデルをトレーニングする場合に特に役立ちます。また、PyCharm では SSH 経由でリモートの Jupyter ノートブックを簡単に実行できることにも感激しています。PyCharm ではどのディレクトリをどのリモートマシンにアップロードするのかを正確に指定できるため、異なる顧客間で誤ってコードをアップロードしてしまうのを防ぐことができます。

PyCharm によってどのような開発上の課題を克服できましたか?

PyCharm によって以下が可能になりました。

  • 複数のアプリケーションとツールのコンテキストスイッチを軽減する。
  • リファクタリングを素早く確実に実行する。
  • 複数のローカルまたはリモート実行ステップを 1 つの実行構成に簡単にカプセル化する。
  • データのプライバシーを保護しながら、リモートマシンでコードの実行とデバッグを行う。
  • リモートの Jupyter ノートブックで実験とプロトタイピングを行う。

PyCharm で Jupyter ノートブックを使用する具体的なメリットには何がありますか?

私が PyCharm で Jupyter ノートブックを使用する際には以下の機能に注目しています。

  • PyCharm のリファクタリングへのアクセス。
  • ノートブックから個別のパッケージへのフリクションレスのコード抽出。
  • ノートブックセル内から PyCharm のデバッガーへのアクセス。
  • SSH インタープリター経由でリモートマシンの Jupyter を実行する機能。

機械学習プロジェクトで PyCharm のデバッグツールが課題の特定と解決に役立った事例をお聞かせください。

ML パイプラインの前処理ステップにバグがあり、モデルからあり得ない値が得られたことがありました。この問題をデバッグするため、PyCharm のデバッガーを ML パイプラインを実行したリモート GPU マシンで使用しました。バグは外部ライブラリではなく、自分たちのコードにあるとかなり確信していたため、デバッグ中に PyCharm の「step into my code(コードへのステップイン)」機能を使用し、ライブラリコードの中間呼び出し部分を省略しました。ブレークポイントを設定して中間データフレームをプロットすることで、問題を効果的に追跡して修正することができました。

機械学習モデルのスケーリングにおける PyCharm の役割に関してご意見はありますか?

PyCharm ではデプロイ環境と同じハードウェアを使ったマシン上でリモートに ML モデルが実行されるため、モデルのスケーリングとテストを現実的に行えます。

PyCharm の AI Assistant 機能はもうご利用になりましたか?またはその予定はありますか?

機会があれば試そうと考えています。AI コード補完でローカルの ML モデルか自己ホスト型のモデルを使用できれば助かります。

お問い合わせ