What is Code Generation and Why Use GPT?
Code generation is about creating source code, in a specific programming language, from simple human instructions. For example, a human can ask an AI to create a blue button in HTML, and the AI will return the proper HTML code for that.
Example: do you want to help your employees request the database while they know nothing about SQL? Thanks to code generation, they can now simply ask what they want in human language. If someone asks to fetch the three max employees from the Employee table, the AI model will return the following:
SELECT * FROM Employee ORDER BY last_name DESC LIMIT 3;
The above examples are simple examples but it is possible to perform much more complex code generation thanks to GPT-J.
GPT-J and GPT-NeoX are the most advanced open-source NLP models as of this writing, and they are the best alternatives to GPT-3 Codex for code generation. These models are so big that they can adapt to many situations, and look like a real programmer. For advanced use cases, it is possible to fine-tune GPT (train it with your own data), which is a great way to perform more advanced code generation that is perfectly tailored to your language or application.
Why Use Code Generation?
Programming is at the heart of many things today, but few people know how to code. Besides, developers themselves are constantly looking for ways to improve their productivity. Here are a couple of examples on how code generation can help:
Most of the valuable data is located in relational databases today, but few people know how to use SQL to get the results they want. Simply ask AI the SQL query you want to perform and it will generate it for you.
Mock Up Creation
Creating a quick mock-up with HTML and CSS is now much easier thanks to code generation. Anyone from a marketing department is able to create such a mock-up thanks to AI.
Focus on Complex Logic Only
Developers often spend time writing repetitive code that does not involve too much complex logic. This part of their work can now be offloaded to AI.
Speed Up Tests Creation
Writing unit tests and integration tests is a pain, but it's critical to the quality of an application. It is now possible to let AI write the tests for you so you can focus on something more important.
Control whether you want to use the model on a GPU. Machine learning models run much faster on GPUs.