| --- |
| license: cc-by-4.0 |
| datasets: |
| - HZBSolarOptics/MultiLayerThinFilms |
| metrics: |
| - mae |
| tags: |
| - science |
| - material |
| - inverse |
| - design |
| --- |
| |
| # OptoGPT++ |
|
|
| [](./LICENSE) |
| [](mailto:SE-AOPT-office@helmholtz-berlin.de) |
|
|
| Meet OptoGPT++ β an enhanced implementation of the OptoGPT, a decoder-only transformer that aims to solve inverse design of multi-layer thin film structures. |
|
|
| **Key Enhancements** |
|
|
| - Inclusion of an **absorption** feature in the model βπ |
| - Increased the maximum **wave length** to 2,000nm π‘ |
| - Longer training time for **better predictive performance** π€― |
|
|
| **Supporting Material** |
|
|
| **OptoGPT++**: https://github.com/jnitzz/OptoLlama \ |
| **OptoGPT**: https://github.com/taigaoma1997/optogpt \ |
| **ArXiV**: π https://arxiv.org/abs/2304.10294 |
|
|
| ## Usage |
|
|
| ### Install Dependencies |
|
|
| ```bash |
| python -m pip install torch |
| python -m pip install safetensors |
| ``` |
|
|
| ### Load Model Checkpoint |
|
|
| ```python |
| from safetensors.torch import load_file |
| |
| model = OptoGPT() |
| |
| safetensors_path = "optogpt-model.safetensors" |
| state_dict = load_file(safetensors_path) |
| model.load_state_dict(state_dict) |
| ``` |
|
|
| ## Useful Information |
|
|
| | Stat | Value | |
| | :------------------ | ----------: | |
| | #Parameters | 108,381,113 | |
| | Best validation MAE | 0.0408 | |
| | Epochs trained | 1,000 | |
| | Best epoch. | 996 | |
| | Batch size | 256 | |
| | n_blocks | 6 | |
| | n_heads | 8 | |
| | d_model | 1,024 | |
| | max_seq_length | 20 | |
| |
| ## Acknowledgements |
| |
| This work is supported by the Helmholtz Association Initiative and Networking Fund through the Helmholtz AI platform, and the HAICORE@KIT grant. |
| |
| ## Citations |
| |
| If you find our work helpful, please feel free to cite as following: |
| |
| ``` |
| @article{ma2024optogpt, |
| title={OptoGPT: a foundation model for inverse design in optical multilayer thin film structures}, |
| author={Ma, Taigao and Wang, Haozhu and Guo, L Jay}, |
| journal={Opto-Electronic Advances}, |
| volume={7}, |
| number={7}, |
| year={2024}, |
| publisher={Opto-Electronic Advance}, |
| doi={10.29026/oea.2024.240062} |
| } |
| ``` |
| |
| ---- |
| |
| <div style="float: left; position: relative; left: 50%; transform: translateX(-50%);"> |
| <a href="https://www.helmholtz-berlin.de/index_en.html"></a><img src="https://huggingface.co/datasets/HZBSolarOptics/shared-assets/raw/main/logo_hzb.svg" style="height: 80px; float: left; margin: 0 1em"></a> |
| <a href="https://www.kit.edu/english/index.php"></a><img src="https://huggingface.co/datasets/HZBSolarOptics/shared-assets/raw/main/logo_kit.svg" style="height: 80px; float: left; margin: 0 1em"></a> |
| <a href="https://www.zib.de/"></a><img src="https://huggingface.co/datasets/HZBSolarOptics/shared-assets/resolve/main/logo_zib.png" style="height: 80px; float: left; margin: 0 1em"></a> |
| |
| <a href="https://www.helmholtz.ai/"></a><img src="https://huggingface.co/datasets/HZBSolarOptics/shared-assets/raw/main/logo_hai.svg" style="height: 20px; float: left; margin: 2em 0; position: relative; left: 50%; transform: translateX(-50%);"></a> |
| </div> |