From fff6eac14e0e88b8e34d440ddcfbef424c8045cc Mon Sep 17 00:00:00 2001 From: Lino Gerlach <65232177+ligerlac@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:56:51 +0100 Subject: [PATCH 1/7] Create proposal_HGQforCICADA.md --- _gsocproposals/2025/proposal_HGQforCICADA.md | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 _gsocproposals/2025/proposal_HGQforCICADA.md diff --git a/_gsocproposals/2025/proposal_HGQforCICADA.md b/_gsocproposals/2025/proposal_HGQforCICADA.md new file mode 100644 index 000000000..9c36c25b0 --- /dev/null +++ b/_gsocproposals/2025/proposal_HGQforCICADA.md @@ -0,0 +1,30 @@ +--- +title: Highly Granular Quantization for CICADA +layout: gsoc_proposal +project: ROOT +year: 2025 +organization: CERN +--- + +## Description + +The CICADA (Calorimeter Image Convolutional Anomaly Detection Algorithm) project aims to provide an unbiased detection of new physics signatures in proton-proton collisions at the Large Hadron Collider's Compact Muon Solenoid experiment (CMS). It detects anomalies in low-level trigger calorimeter information with a convolutional autoencoder, whose behaviour is transferred to a smaller model through knowledge distillation. Careful quantization of the deployed model allows it to meet the requirement of sub-500ns inference times on FPGAs. While CICADA currently employs Quantization Aware Training with different quantization schemes for each layer of the distilled model, a new gradient-based quantization optimization approach published in 2024 offers the possibility of optimizing quantization at the individual weight level. This project would explore implementing this highly granular quantization method to CICADA's distilled model and evaluating its effects on both model performance and resource consumption on Xilinx FPGAs. The work would involve implementing the new quantization approach, comparing it with the current implementation, and investigating the impact on both detection performance and hardware resource utilization while maintaining the strict timing requirements. + +## Task ideas + * Implement HGQ for CICADA + +## Expected results +A student + +## Requirements +Python, Tensorflow + +## Mentors + * [Lino Gerlach](mailto:lino.oscar.gerlach@cern.ch) + * [Isobel Ojalvo](mailto:iojalvo@princeton.edu) + +## Links + * [CICADA]([https://root.cern/](https://github.com/Princeton-AD/cicada)) + * [Paper](https://arxiv.org/pdf/2405.00645) + * [HGQ](https://github.com/calad0i/HGQ) + From 72e07c240ea839ffbc8515c1b6f86f25aaa51e1c Mon Sep 17 00:00:00 2001 From: ligerlac Date: Thu, 6 Feb 2025 16:23:15 +0100 Subject: [PATCH 2/7] create princeton org (copy from 2023) --- _gsocorgs/2025/princeton.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 _gsocorgs/2025/princeton.md diff --git a/_gsocorgs/2025/princeton.md b/_gsocorgs/2025/princeton.md new file mode 100644 index 000000000..d7dd13d5b --- /dev/null +++ b/_gsocorgs/2025/princeton.md @@ -0,0 +1,11 @@ +--- +title: "Princeton University" +author: "Lino Gerlach" +layout: default +organization: princeton +logo: princeton-logo.png +description: | + Princeton University is a private Ivy League research university in Princeton, New Jersey. +--- + +{% include gsoc_proposal.ext %} From daa741ff050a0076f91f4041737981c8c906063d Mon Sep 17 00:00:00 2001 From: ligerlac Date: Thu, 6 Feb 2025 16:33:18 +0100 Subject: [PATCH 3/7] add CICADA project and logo --- _gsocprojects/2025/project_CICADA.md | 11 +++++++++++ images/cicada-logo.png | Bin 0 -> 108793 bytes 2 files changed, 11 insertions(+) create mode 100644 _gsocprojects/2025/project_CICADA.md create mode 100644 images/cicada-logo.png diff --git a/_gsocprojects/2025/project_CICADA.md b/_gsocprojects/2025/project_CICADA.md new file mode 100644 index 000000000..451272266 --- /dev/null +++ b/_gsocprojects/2025/project_CICADA.md @@ -0,0 +1,11 @@ +--- +project: CICADA +layout: default +logo: cicada-logo.png +description: | + [CICADA](https://cicada.web.cern.ch/) Calorimeter Image Convolutional Anomaly Detection Algorithm (CICADA) uses low level Compact Muon Solenoid experiment's trigger calorimeter information as the input to convolutional autoencoder to find anomalies produced during Large Hadron Collider proton-proton collisionsis. Quantization Aware Training and Knowledge Distillation are used to compress the model for sub-500ns inference on Field-Programmable Gate Arrays. +summary: | + [CICADA](https://cicada.web.cern.ch/) Calorimeter Image Convolutional Anomaly Detection Algorithm: Real-time anomaly detection at CMS. +--- + +{% include gsoc_project.ext %} diff --git a/images/cicada-logo.png b/images/cicada-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ea8e63d01f30ac83c7fd7f075d8d5c472b5b803 GIT binary patch literal 108793 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 Date: Thu, 6 Feb 2025 17:02:50 +0100 Subject: [PATCH 4/7] Update project proposal --- _gsocproposals/2025/proposal_HGQforCICADA.md | 23 ++++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/_gsocproposals/2025/proposal_HGQforCICADA.md b/_gsocproposals/2025/proposal_HGQforCICADA.md index 9c36c25b0..989c16290 100644 --- a/_gsocproposals/2025/proposal_HGQforCICADA.md +++ b/_gsocproposals/2025/proposal_HGQforCICADA.md @@ -1,9 +1,9 @@ --- title: Highly Granular Quantization for CICADA layout: gsoc_proposal -project: ROOT +project: CICADA year: 2025 -organization: CERN +organization: princeton --- ## Description @@ -11,20 +11,25 @@ organization: CERN The CICADA (Calorimeter Image Convolutional Anomaly Detection Algorithm) project aims to provide an unbiased detection of new physics signatures in proton-proton collisions at the Large Hadron Collider's Compact Muon Solenoid experiment (CMS). It detects anomalies in low-level trigger calorimeter information with a convolutional autoencoder, whose behaviour is transferred to a smaller model through knowledge distillation. Careful quantization of the deployed model allows it to meet the requirement of sub-500ns inference times on FPGAs. While CICADA currently employs Quantization Aware Training with different quantization schemes for each layer of the distilled model, a new gradient-based quantization optimization approach published in 2024 offers the possibility of optimizing quantization at the individual weight level. This project would explore implementing this highly granular quantization method to CICADA's distilled model and evaluating its effects on both model performance and resource consumption on Xilinx FPGAs. The work would involve implementing the new quantization approach, comparing it with the current implementation, and investigating the impact on both detection performance and hardware resource utilization while maintaining the strict timing requirements. ## Task ideas - * Implement HGQ for CICADA + * Transition CICADA's quantization tool from QKeras to HGQ + * Optimize student model's quantization with higher granularity + * Compare resulting model's performance with legacy model + * Emulate deployment on FPGA w/ Vivado to evalute resource consumption ## Expected results -A student + * Extend existing training / quantization scripts to use HGQ in addition to QKeras + * A trained student model with highly granular quantization + * Estimates of that model's performance and resource consumption on an FPGA ## Requirements -Python, Tensorflow +Python, Tensorflow, ## Mentors * [Lino Gerlach](mailto:lino.oscar.gerlach@cern.ch) * [Isobel Ojalvo](mailto:iojalvo@princeton.edu) ## Links - * [CICADA]([https://root.cern/](https://github.com/Princeton-AD/cicada)) - * [Paper](https://arxiv.org/pdf/2405.00645) - * [HGQ](https://github.com/calad0i/HGQ) - + * [CICADA (homepage)](https://cicada.web.cern.ch/) + * [CICADA (code)](https://github.com/Princeton-AD/cicada) + * [HGQ (Paper)](https://arxiv.org/pdf/2405.00645) + * [HGQ (code)](https://github.com/calad0i/HGQ) From 227ae2dc22b4c5be38c0d57f5902a9ae8ed30f32 Mon Sep 17 00:00:00 2001 From: Lino Gerlach <65232177+ligerlac@users.noreply.github.com> Date: Mon, 10 Feb 2025 10:50:59 +0100 Subject: [PATCH 5/7] Update proposal_HGQforCICADA.md --- _gsocproposals/2025/proposal_HGQforCICADA.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_gsocproposals/2025/proposal_HGQforCICADA.md b/_gsocproposals/2025/proposal_HGQforCICADA.md index 989c16290..e14286ecb 100644 --- a/_gsocproposals/2025/proposal_HGQforCICADA.md +++ b/_gsocproposals/2025/proposal_HGQforCICADA.md @@ -8,7 +8,7 @@ organization: princeton ## Description -The CICADA (Calorimeter Image Convolutional Anomaly Detection Algorithm) project aims to provide an unbiased detection of new physics signatures in proton-proton collisions at the Large Hadron Collider's Compact Muon Solenoid experiment (CMS). It detects anomalies in low-level trigger calorimeter information with a convolutional autoencoder, whose behaviour is transferred to a smaller model through knowledge distillation. Careful quantization of the deployed model allows it to meet the requirement of sub-500ns inference times on FPGAs. While CICADA currently employs Quantization Aware Training with different quantization schemes for each layer of the distilled model, a new gradient-based quantization optimization approach published in 2024 offers the possibility of optimizing quantization at the individual weight level. This project would explore implementing this highly granular quantization method to CICADA's distilled model and evaluating its effects on both model performance and resource consumption on Xilinx FPGAs. The work would involve implementing the new quantization approach, comparing it with the current implementation, and investigating the impact on both detection performance and hardware resource utilization while maintaining the strict timing requirements. +The CICADA (Calorimeter Image Convolutional Anomaly Detection Algorithm) project aims to provide an unbiased detection of new physics signatures in proton-proton collisions at the Large Hadron Collider's Compact Muon Solenoid experiment (CMS). It detects anomalies in low-level trigger calorimeter information with a convolutional autoencoder, whose behaviour is transferred to a smaller model through knowledge distillation. Careful quantization of the deployed model allows it to meet the requirement of sub-500ns inference times on FPGAs. While CICADA currently employs Quantization Aware Training with different quantization schemes for each layer of the distilled model, a new gradient-based quantization optimization approach published in 2024 offers the possibility of optimizing quantization at the individual weight level. This project would explore implementing this highly granular quantization method to CICADA's distilled model and evaluating its effects on both model performance and resource consumption on FPGAs. The work would involve implementing the new quantization approach, comparing it with the current implementation, and investigating the impact on both detection performance and hardware resource utilization while maintaining the strict timing requirements. ## Task ideas * Transition CICADA's quantization tool from QKeras to HGQ From 0e47f7c92ccbe852627a22db6c98c194875dac59 Mon Sep 17 00:00:00 2001 From: Lino Gerlach <65232177+ligerlac@users.noreply.github.com> Date: Mon, 10 Feb 2025 10:52:34 +0100 Subject: [PATCH 6/7] Update proposal_HGQforCICADA.md --- _gsocproposals/2025/proposal_HGQforCICADA.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_gsocproposals/2025/proposal_HGQforCICADA.md b/_gsocproposals/2025/proposal_HGQforCICADA.md index e14286ecb..c4787f65e 100644 --- a/_gsocproposals/2025/proposal_HGQforCICADA.md +++ b/_gsocproposals/2025/proposal_HGQforCICADA.md @@ -22,7 +22,7 @@ The CICADA (Calorimeter Image Convolutional Anomaly Detection Algorithm) project * Estimates of that model's performance and resource consumption on an FPGA ## Requirements -Python, Tensorflow, +Python, Tensorflow, Quantization ## Mentors * [Lino Gerlach](mailto:lino.oscar.gerlach@cern.ch) From 2b6a7797172bbc7a6063ab4d07d810adf2806f8b Mon Sep 17 00:00:00 2001 From: Lino Gerlach <65232177+ligerlac@users.noreply.github.com> Date: Mon, 10 Feb 2025 11:37:33 +0100 Subject: [PATCH 7/7] typo Co-authored-by: Valentin Volkl --- _gsocproposals/2025/proposal_HGQforCICADA.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_gsocproposals/2025/proposal_HGQforCICADA.md b/_gsocproposals/2025/proposal_HGQforCICADA.md index c4787f65e..28703aac4 100644 --- a/_gsocproposals/2025/proposal_HGQforCICADA.md +++ b/_gsocproposals/2025/proposal_HGQforCICADA.md @@ -14,7 +14,7 @@ The CICADA (Calorimeter Image Convolutional Anomaly Detection Algorithm) project * Transition CICADA's quantization tool from QKeras to HGQ * Optimize student model's quantization with higher granularity * Compare resulting model's performance with legacy model - * Emulate deployment on FPGA w/ Vivado to evalute resource consumption + * Emulate deployment on FPGA w/ Vivado to evaluate resource consumption ## Expected results * Extend existing training / quantization scripts to use HGQ in addition to QKeras