論理式表現を媒介としたPLCコードデータセットの自動構築

産業用制御システムにおいて、シーケンサ（PLC:ProgrammableLogicController）は製造現場の自動化を支える重要な要素である。シーケンサの動作は主にラダー図や命令リスト（IL:InstructionList）、ST（StructuredText）といったプログラミング言語によって制御されるが、これらのコーディングには専門的な知識を要する。近年、自然言語処理技術の発展に伴い、言語モデルを用いたコード自動生成の研究が進展している。しかしながら、工場現場の多くはインターネット接続が制限されており、クラウド上の大規模言語モデル（LLM）を利用することが困難である。このため、ローカル環境で動作可能な中小規模の言語モデルを用いて、PLCコードを自動生成する技術が求められている。既存のクラウドLLMを用いたILコード生成の試みでは、三菱電機独自のIL命令をプロンプトエンジニアリングによりモデルに学習させる方法が報告されている[1]。しかしながら、良好な生成精度を得るためには高度なプロンプト設計が必要であり、その整備には多大な労力がかかる。ローカルモデルにおいても同様に、単にプロンプトを工夫するだけでは限界があると考えられる。そこで本研究では、ローカル言語モデルをILコード生成に特化してファインチューニングすることを提案する。ファインチューニングには大量の学習データが必要であるが、PLCコードは専門性が高くクローズドな分野であり大規模なデータセットの収集が困難である。これを解決するため、本研究ではILコードの学習用データセットを自動構築する手法を提案する。具体的には、文脈自由文法に基づいて自動生成した論理式を、ルールベースでILコードに変換する。同時に、同じ論理式から制御機器の動作を表すテキストをLLMを用いて生成する。これにより、ILコードと動作記述テキストの対を自動生成し、ローカル言語モデルのファインチューニングに活用可能なデータセットを構築する。本論文では、提案手法により構築したデータセットを用いてローカル言語モデルを学習し、未学習のモデルとのILコード生成精度を比較評価する。実験により、提案データセットを用いたモデルが高精度なILコードを生成することを示す。