What Does OpenAI and GitHub’s “AI Pair Programmer” Mean for the Software Industry? – Illinoisnewstoday.com

Join us as an AI and data leader at Transform 2021 on July 12th and attend the AI ​​/ ML Automation Technology Summit. Register today.


let’s do it OSS Enterprise Newsletter Guide your open source journey! Sign up here..

OpenAI graced the headline again, but this time First officer, A programming tool using AI built in collaboration with GitHub.Build on GPT-3OpenAI’s well-known language model, Copilot, is an auto-complete tool that provides relevant (and sometimes long) suggestions when writing code.

Copilot can now select applicants as an extension of Visual Studio Code, Microsoft’s flagship programming tool, GitHub’s parent company.

While Code generator using AI Is still an ongoing work and provides some interesting tips on the future direction of the large language model business and software industry.

Not intended for GPT-3

Official site First officer This is described as an “AI pair programmer” who suggests “whole lines or whole functions in the editor”. In some cases, providing a function signature or description is sufficient to generate an entire block of code.

Behind Copilot is a deep learning model called Codex. This is basically a special version of GPT-3 tweaked for programming tasks. The behavior of this tool is very similar to GPT-3. Takes a prompt as input and produces a series of bytes as output. Here, the prompt (or context) is the source code file you are working on, and the output is the code suggestions you received.

What’s interesting about all of this is that AI product management can make unexpected changes.by CNBC: “… when OpenAI was the first training [GPT-3], The startup wasn’t going to teach you how to help the code, [OpenAI CTO Greg] Brockman said.It meant as a more general language model [emphasis mine] For example, you can generate articles, correct incorrect grammar, or translate from one language to another. “

General-purpose language applications Very difficult to nail.. Applying natural language processing to a wide range of environments involves a lot of complexity. Humans tend to use many abstractions and shortcuts in everyday languages. The meaning of words, phrases, and sentences can change based on shared sensory experience, work environment, prior knowledge, and more. These nuances are from what to what.

In contrast, the language model works well when the proper context is provided and the application is narrowed down to one or several related tasks. For example, a chatbot that utilizes training or fine-tuned deep learning in a large corpus of customer chat can take on most of the simple interactions with the customer, leaving complex demands on the human operator. You can complement the service agent appropriately. There are already many special purpose deep learning models for different language tasks.

So it’s not surprising that GPT-3’s first application was something other than a general-purpose language task.

Use a language model for coding

Immediately after GPT-3 became available through the beta web application programming interface, many users posted examples of using the language model to generate source code. These experiments demonstrated the unexplored aspects of GPT-3 and potential use cases for large-scale language models.

And interestingly, Microsoft is the first two applications Exclusive license holder of the OpenAI language model, Created on top of GPT-3, related to computer programming. In May, Microsoft announced a tool using GPT-3. Generate PowerApps query.. And now it’s testing the body of water with the co-pilot.

Neural networks are very good at finding and proposing patterns from large training datasets. From this point of view, it makes sense to use GPT-3 or a tweaked version of it to help programmers find a solution in a very large corpus of source code published on GitHub.

According to the Codepilot home page, Codex is trained in “selecting English and source code from public sources, including code in public repositories on GitHub.”

Providing the right context allows you to come up with blocks of code similar to those created by other programmers to solve similar problems. And by giving more detailed comments and explanations, you are more likely to get reasonable output from Codepilot.

Code generation and software understanding

According to the website, “GitHub co-pilots try to understand [emphasis mine] Your intention is to generate the best code it can, but the code it suggests doesn’t always work and may not make sense. “

The word “understand” may be wrong here. Language models such as GPT-3 do not understand the purpose and structure of source code. They do not understand the purpose of the program. They can’t come up with new ideas, break down problems into smaller components, or design and build applications the way human software engineers do.

By human standards, programming is a relatively difficult task (well, that was when I was learning in the 90’s). Solving a particular problem requires careful thinking, logic, and architectural design. Each language has its own paradigm and programming pattern. Developers need to learn how to use different application programming interfaces and connect them in an efficient way. In short, it’s a skill that relies heavily on symbol manipulation, not an area of ​​strength for deep learning algorithms.

The creator of Copilot never said that the AI ​​system The perfect programming companion (I don’t even think “pair programming” is the correct term for it). “GitHub Copilot does not actually test the proposed code, so the code may not compile or run,” he warns.

GitHub also warns that Copilot may suggest “old or deprecated use of libraries and languages.” This can cause security issues. This makes it very important for developers to thoroughly review the AI-generated code.

Therefore, we are not at the stage of expecting AI systems to automate programming. But as the creators of Copilot suggest, combining them with someone who knows what they’re doing can definitely increase productivity.

And since Copilot was released to the public, developers have posted all sorts of examples, from interesting to really useful.

“If you know a little about what you’re asking Copilot to code and have enough experience to clean up your code and fix any errors you’re getting, it’s very useful and time-saving,” Matt said. Shumer, co-founder and CEO of Otherside AI, told TechTalks.

However, Sumer also warns of the threat of blindly trusting the code generated by Copilot.

“For example, I saved time writing SQL code, but I entered the database password directly into the code,” says Sumer. “If you have no experience, you might accept it and leave it in your code. This poses a security issue. But I knew how to change the code, so I took the one provided by Copilot. It could be used as a starting point. “

Co-pilot business model

In my opinion, there is another reason why Microsoft started programming as the first application of GPT-3. There is a great opportunity to reduce costs and make a profit.

According to GitHub, “If the technical preview is successful, we plan to build a commercial version of GitHub Copilot in the future.”

There is still no information on how much the official co-pilot will cost. However, the hourly wage of programming talent starts at around $ 30 and can reach as high as $ 150. Saving a few hours of programming time or speeding up development a bit is probably enough to cover the cost of Copilot. So it’s no surprise that many developers and software developers sign up for Copilot after it’s been released as a commercial product.

“If it returns me for 10% of my time, I would say it’s worth the cost, of course,” Schumer said.

Language models like GPT-3 require extensive resources for training and execution. It also costs more to the company hosting the machine learning model because it needs to be updated and tweaked on a regular basis. Therefore, high-cost domains such as software development are a good starting point for reducing the time to recover your technology investment.

” [Copilot] It’s very valuable to be able to use libraries and frameworks that we haven’t used before, “says Sumer. “For example, in one of my demos, I asked to use Streamlit to generate a dashboard, but it ran completely in one attempt. Then, without reading the documentation, the dashboard I was able to move to and change it. That alone is well worth the money. “

Autocoding can be a multi-billion dollar industry. Microsoft is also in a leading position in this early sector, thanks to market reach (via Visual Studio, Azure, GitHub), deep pockets, and exclusive access to OpenAI technology and talent. It is in.

The future of automatic coding

Developers should be careful not to confuse Copilot or any other AI-powered code generator with a programming companion that accepts all suggestions. As a programmer who has worked on tight deadlines several times, I know that developers tend to cut corners when time runs out (I’ve done it a few times or more). Also, if you have a tool that provides a lot of work code at once, and you don’t have enough time, you tend to skim it.

On the other hand, an attacker could find a way to track vulnerable coding patterns with a deep learning code generator and find new attack vectors against AI-generated software.

New coding tools create new habits (many of them are negative and unsafe). You need to carefully research this new space and be aware of the potential trade-offs of having an AI agent as your new coding partner.

Ben Dickson is a software engineer and founder of TechTalks. TechTalks is a blog that explores how technology solves and creates problems.

This story originally appeared Bdtechtalks.com.. Copyright 2021

Venture Beat

VentureBeat’s mission is to become a digital town square for technical decision makers to acquire knowledge about innovative technology and trading. Our site provides important information about data technologies and strategies to guide you when you lead your organization. We encourage you to become a member of the community and access:

  • The latest information on the subject you are interested in
  • Newsletter
  • Gated sort reader content and discounted access to valuable events such as: 2021 transformation: learn more
  • Network function etc.

Become a member

What Does OpenAI and GitHub’s “AI Pair Programmer” Mean for the Software Industry?

Source link What Does OpenAI and GitHub’s “AI Pair Programmer” Mean for the Software Industry?

Spread the love

Leave a Reply

Your email address will not be published.