本論文では、産業用制御システムにおけるPLC（ProgrammableLogicController）の命令リスト（IL:InstructionList）コード生成を対象に、ローカル環境で動作可能な中小規模言語モデルのファインチューニングに用いる学習データセットを自動構築する手法を提案する。具体的には、文脈自由文法に基づき論理式を生成し、それらを対応するILコードにルールベースで変換するとともに、その論理式が表す機器動作をLLMを用いて自然言語の動作記述として生成することで、ILコードと動作記述の対からなるデータセットを自動構築する。構築したデータセットを用いて言語モデルをファインチューニングした結果、構文正解率及び動作整合性評価において性能向上を確認した。これにより、複雑なプロンプト設計を必要とせずにローカル環境で高精度なILコード生成が可能となることを示した。今後は、より多様なILの命令語に対応し実用性向上を目指す。

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