Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding obj detr and specialized llm model projects #4

Merged
merged 3 commits into from
Aug 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@

# Academic Pages

![pages-build-deployment](https://github.com/academicpages/academicpages.github.io/actions/workflows/pages/pages-build-deployment/badge.svg)

Academic Pages is a Github Pages template for academic websites.

`jekyll serve -l -H localhost`

# Getting Started

1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
1. Click the "Use this template" button in the top right.
1. On the "New repository" page, enter your repository name as "[your GitHub username].github.io", which will also be your website's URL.
1. Set site-wide configuration and add your content.
1. Upload any files (like PDFs, .zip files, etc.) to the `files/` directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
1. Check status by going to the repository settings, in the "GitHub pages" section
1. (Optional) Use the Jupyter notebooks or python scripts in the `markdown_generator` folder to generate markdown files for publications and talks from a TSV file.
2. Click the "Use this template" button in the top right.
3. On the "New repository" page, enter your repository name as "[your GitHub username].github.io", which will also be your website's URL.
4. Set site-wide configuration and add your content.
5. Upload any files (like PDFs, .zip files, etc.) to the `files/` directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
6. Check status by going to the repository settings, in the "GitHub pages" section
7. (Optional) Use the Jupyter notebooks or python scripts in the `markdown_generator` folder to generate markdown files for publications and talks from a TSV file.

See more info at https://academicpages.github.io/

Expand All @@ -23,13 +23,13 @@ See more info at https://academicpages.github.io/
When you are initially working your website, it is very useful to be able to preview the changes locally before pushing them to GitHub. To work locally you will need to:

1. Clone the repository and made updates as detailed above.
1. Make sure you have ruby-dev, bundler, and nodejs installed: `sudo apt install ruby-dev ruby-bundler nodejs`
1. Run `bundle install` to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.
1. Run `jekyll serve -l -H localhost` to generate the HTML and serve it from `localhost:4000` the local server will automatically rebuild and refresh the pages on change.
2. Make sure you have ruby-dev, bundler, and nodejs installed: `sudo apt install ruby-dev ruby-bundler nodejs`
3. Run `bundle install` to install ruby dependencies. If you get errors, delete Gemfile.lock and try again.
4. Run `jekyll serve -l -H localhost` to generate the HTML and serve it from `localhost:4000` the local server will automatically rebuild and refresh the pages on change.

If you are running on Linux it may be necessary to install some additional dependencies prior to being able to run locally: `sudo apt install build-essential gcc make`

# Maintenance
# Maintenance

Bug reports and feature requests to the template should be [submitted via GitHub](https://github.com/academicpages/academicpages.github.io/issues/new/choose). For questions concerning how to style the template, please feel free to start a [new discussion on GitHub](https://github.com/academicpages/academicpages.github.io/discussions).

Expand Down
2 changes: 1 addition & 1 deletion _pages/cv.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,6 @@ Skills
Publications
============

<ul>{% for post in site.publications reversed %}
<ul>{% for post in site.publications %}
{% include archive-single-cv.html %}
{% endfor %}</ul>
2 changes: 1 addition & 1 deletion _pages/portfolio.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{% include base_path %}


{% for post in site.portfolio %}
{% for post in site.portfolio reversed %}
{% include archive-single.html %}
{% endfor %}

69 changes: 66 additions & 3 deletions _portfolio/2021-06-01-ner.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,71 @@ title: "NER for commands extraction"
excerpt: "Apr 2021 - Jun 2021: NER for commands extraction <br/><img src='/images/ner_model.png'>"
collection: portfolio
---
Implementation of a deeplearning model to extract commands from a user's query
Use of ktrain framework and fine-tuning of BiLSTM-Bert model to obtain a language processing model capable of extracting commands

**Project Title: Implementation of a Deep Learning Model for Command Extraction from User Queries**

Writing and submitting a paper to the MLPC 2021 challenge organized by James at ENSPY
**Project Overview:**

This project focuses on developing an advanced natural language processing (NLP) model capable of extracting actionable commands from user queries. By leveraging the capabilities of deep learning, we aim to build a robust system that can interpret and process human language with a high degree of accuracy.

**Key Components:**

1. **Model Selection and Framework:**
* We utilize the ktrain framework, which is a lightweight wrapper for Keras, simplifying the process of building, training, and deploying deep learning models.
* Our primary model is a BiLSTM (Bidirectional Long Short-Term Memory) combined with a BERT (Bidirectional Encoder Representations from Transformers) model. This hybrid approach takes advantage of BERT's contextual language understanding and BiLSTM's sequential processing capabilities.
2. **Model Fine-Tuning:**
* The BiLSTM-BERT model undergoes fine-tuning to adapt to our specific task of command extraction. Fine-tuning involves training the pre-trained BERT model on our dataset to improve its performance in recognizing and extracting commands from user queries.
* This process includes adjusting hyperparameters, optimizing the learning rate, and incorporating dropout techniques to prevent overfitting.
3. **Dataset Preparation:**
* We compile a comprehensive dataset comprising various user queries, each annotated with the corresponding commands. This dataset is essential for training and evaluating the model.
* Data augmentation techniques are applied to enhance the diversity and size of the dataset, ensuring the model generalizes well to new, unseen queries.
4. **Model Training and Evaluation:**
* The training process involves multiple iterations, with regular evaluation using metrics such as precision, recall, F1-score, and accuracy to measure the model's performance.
* We implement cross-validation techniques to validate the model's effectiveness and ensure it performs consistently across different subsets of the data.
5. **Deployment and Application:**
* Once trained, the model is deployed as part of a larger NLP system capable of interacting with users and executing commands based on their queries.
* The deployment phase includes integrating the model into a user interface, allowing for real-time command extraction and execution.

**Outcome and Future Work:**

* **Research Paper Submission:**

* The findings and methodology of this project have been documented and submitted as a research paper to the MLPC 2021 challenge organized by James at ENSPY (École Nationale Supérieure Polytechnique de Yaoundé).
* The paper detail the model architecture, training process, evaluation metrics, and results, providing valuable insights into the application of deep learning in command extraction tasks.
* **Potential Enhancements:**

* Future improvements may include expanding the dataset, exploring other model architectures, and incorporating additional NLP techniques to further enhance the accuracy and robustness of the system.
* Collaboration with other researchers and participation in related challenges can provide opportunities for continuous learning and innovation in this domain.

**Project Title: Implementation of a Deep Learning Model for Command Extraction from User Queries**

**Project Overview:**

This project focuses on developing an advanced natural language processing (NLP) model capable of extracting actionable commands from user queries. By leveraging the capabilities of deep learning, we aim to build a robust system that can interpret and process human language with a high degree of accuracy.

**Key Components:**

1. **Model Selection and Framework:**
* We utilize the ktrain framework, which is a lightweight wrapper for Keras, simplifying the process of building, training, and deploying deep learning models.
* Our primary model is a BiLSTM (Bidirectional Long Short-Term Memory) combined with a BERT (Bidirectional Encoder Representations from Transformers) model. This hybrid approach takes advantage of BERT's contextual language understanding and BiLSTM's sequential processing capabilities.
2. **Model Fine-Tuning:**
* The BiLSTM-BERT model undergoes fine-tuning to adapt to our specific task of command extraction. Fine-tuning involves training the pre-trained BERT model on our dataset to improve its performance in recognizing and extracting commands from user queries.
* This process includes adjusting hyperparameters, optimizing the learning rate, and incorporating dropout techniques to prevent overfitting.
3. **Dataset Preparation:**
* We compile a comprehensive dataset comprising various user queries, each annotated with the corresponding commands. This dataset is essential for training and evaluating the model.
* Data augmentation techniques are applied to enhance the diversity and size of the dataset, ensuring the model generalizes well to new, unseen queries.
4. **Model Training and Evaluation:**
* The training process involves multiple iterations, with regular evaluation using metrics such as precision, recall, F1-score, and accuracy to measure the model's performance.
* We implement cross-validation techniques to validate the model's effectiveness and ensure it performs consistently across different subsets of the data.
5. **Deployment and Application:**
* Once trained, the model is deployed as part of a larger NLP system capable of interacting with users and executing commands based on their queries.
* The deployment phase includes integrating the model into a user interface, allowing for real-time command extraction and execution.

**Outcome and Future Work:**

* **Research Paper Submission:**
* The findings and methodology of this project will be documented and submitted as a research paper to the MLPC 2021 challenge organized by James at ENSPY (École Nationale Supérieure Polytechnique de Yaoundé).
* The paper will detail the model architecture, training process, evaluation metrics, and results, providing valuable insights into the application of deep learning in command extraction tasks.
* **Potential Enhancements:**
* Future improvements may include expanding the dataset, exploring other model architectures, and incorporating additional NLP techniques to further enhance the accuracy and robustness of the system.
* Collaboration with other researchers and participation in related challenges can provide opportunities for continuous learning and innovation in this domain.
7 changes: 4 additions & 3 deletions _portfolio/2021-09-01-workflow-optim.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ title: "Constraints optimisation of resources uses by tasks in workflows"
excerpt: "Feb 2021 - Sep 2021: Financial Data Generation <br/><img src='/images/scheduling.png'>"
collection: portfolio
---
The organization and management of production is a prerequisite for the success of projects in the business and research world. In this process, the scheduling function aims to organize the use of resources to meet a demand or satisfy a prepared plan. Thus, some public and private companies use the scheduling function to cope with complexity, improve deadlines or even adapt to unexpected events. Although this problem has been widely addressed in the scientific and academic domain, its application in an industrial environment is very often minimalist. For example, complex constraints (resource limits and priority constraints) are not always taken into account. In this paper, we propose a solution that relies on adaptations of Boolean satisfiability problem-solving methods to encode the constraints and propose a task scheduling that minimizes the total execution time of a workflow. We were able to obtain a solution that takes into account the scheduling of workflows with constraints of resource limits, priorities, conditions and proposes a scheduling that makes the best use of resources in a relatively short time. The interest of this work is that reducing the execution time of the users’ tasks will allow a better management of the resources allocated in the infrastructures, an increase of the applications’ performances and by ricochet a great satisfaction of the customers.

Mathematical modeling of the concept of resources utilization for a resource management platform
Optimization of a scheduler for fair resource allocation.
Implementation of schedule for fair allocation of resources available.
Keywords : task, workflow, scheduling, boolean satisfiability problem.

Language: Python, Java, Google OR-Tools
Task: Mathematical modelling of resources usages, Scheduler Implementation

<img src='/images/scheduling.png'>
2 changes: 1 addition & 1 deletion _portfolio/2022-09-01-cssl.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Continual Self Supervised Learning through distillation and replay"
excerpt: "Self-supervised learning provides strong visual representations from unlabeled data offline, but struggles in continual learning, which this study addresses using distillation, proofreading, and a prediction layer to prevent forgetting. <br/><img src='/images/cssl.png'>"
collection: portfolio
---
Without relying on human annotations, self-supervised learning aims to learn useful representations of input data. When trained offline with enormous amounts of unlabeled data, self-supervised models have been found to provide visual representations that are equivalent to or better than supervised models. However, in continual learning (CL) circumstances, when data is fed to the model sequentially, its efficacy is drastically diminished. Numerous ongoing learning techniques have recently been presented for a variety of computer vision problems. In this study, by utilizing distillation and proofreading, we tackle the extremely challenging problem of continuously learning a usable representation in which input data arrives sequentially. We can prevent severe forgetfulness and continue to train our models by adding a prediction layer that forces the current representations vectors to precisely match the frozen learned representations and an effective selection memory for proofreading previous data.
Without relying on human annotations, self-supervised learning aims to learn useful representations of input data. When trained offline with enormous amounts of unlabeled data, self-supervised models have been found to provide visual representations that are equivalent to or better than supervised models. However, in continual learning (CL) circumstances, when data is fed to the model sequentially, its efficacy is drastically diminished. Numerous ongoing learning techniques have recently been presented for a variety of computer vision problems. In this study, by utilizing distillation and proofreading, we tackle the extremely challenging problem of continuously learning a usable represenhttps://zindi.africa/competitions/arm-unicef-disaster-vulnerability-challenge/datatation in which input data arrives sequentially. We can prevent severe forgetfulness and continue to train our models by adding a prediction layer that forces the current representations vectors to precisely match the frozen learned representations and an effective selection memory for proofreading previous data.

Language: Python
Task: Continual Leaning, Class-IL, Task-IL, Data-IL, Self-Supervised Learning
Expand Down
Loading