From left to right, GitHub CEO Chris Wanstrath, Microsoft CEO Satya Nadella and future GitHub CEO Nat Friedman at GitHub headquarters in San Francisco.
Microsoft on Tuesday announced an artificial intelligence system that can recommend code for software developers to use when writing code.
Microsoft is looking to simplify the programming process, an area in which the company got its start in 1975. This could satisfy programmers who already use the company’s tools and attract new ones.
The system, called GitHub Copilot, relies on source code uploaded to the GitHub code sharing service, which Microsoft acquired in 2018, as well as other websites. Microsoft and GitHub developed it with help from OpenAI, an AI research startup that Microsoft supported in 2019.
Researchers at Microsoft and other institutions have been trying to teach computers to write code for decades. The concept has not yet been generalized, sometimes because the programs for writing programs have not been versatile enough. The GitHub Copilot effort is a notable endeavor in the field, drawing on a large volume of code in many programming languages and vast power of Azure cloud computing.
Nat Friedman, CEO of GitHub, describes GitHub Copilot as a virtual version of what software makers call a pair programmer – it’s when two developers work side-by-side on the same project. The tool examines the existing code and comments in the current file and the cursor location, and suggests one or more lines to add. As programmers accept or reject suggestions, the model learns and becomes more sophisticated over time.
The new software speeds up coding, Friedman said in an interview last week. Hundreds of GitHub developers have used the Copilot feature all day while coding, and the majority of them accept suggestions and don’t turn off the feature, Friedman said.
Programming involves coming up with an idea of how to do something and then implementing it, and GitHub Copilot is good at Part 2, said Greg Brockman, OpenAI co-founder and CTO.
“You don’t want to go read Twilio’s API documentation. He knows all about it. He’s actually pretty reliable,” he said. Brockman calls this job last mile programming, and he said having computers to take care of it leads to improvements in speed.
Microsoft’s chief technology officer Kevin Scott saw this firsthand.
“It can save me from having to go through a whole bunch of documentation to get a tool to do something that I know it’s capable of, and it’s so good for productivity,” he said. he declares. “I can’t even tell you how many hours I wasted trying to figure out the right way to do something relatively mundane, just by navigating the complexity of these tools.”
GitHub Copilot isn’t just for software veterans like it, however.
“It could very well be one of those things that makes programming more accessible,” Scott said.
GitHub Copilot will first appear in Microsoft’s Visual Studio Code, a free open source product, and Microsoft plans to integrate it into the commercial Visual Studio product in the future.
A descendant of OpenAI’s GPT-3
The model at the heart of GitHub Copilot, called Codex, is a descendant of GPT-3, a powerful model that OpenAI trained on large volumes of text, Brockman said. Engineers fed the model “huge numbers of terabytes of public source code,” Friedman said.
This is not the first time that Microsoft has relied on OpenAI to deliver intelligent software. Last month Microsoft showed how it would update the Power Apps Studio app, which non-technical people use to write apps, so that users can type in words describing the items they want to add and GPT-3 displays the options. for the necessary code.
OpenAI recognizes the potential of AI models to deliver code with GPT-3, which it introduced last year. The start-up says on its website that an online service providing GPT-3 can handle “code completion”. But back when OpenAI was first training the model, the startup had no plans to teach him how to help code, Brockman said. It was more of a general-purpose language model that could, for example, generate articles, correct incorrect grammar, and translate from one language to another.
Over the next few months, people experimented with the model to see what it could do, both useful and silly – for example, an engineer created a website that could design a button that looked like a watermelon. Brockman reached out to Friedman, while he was running a key destination where millions of programmers are working on code and things rolled out from there.
GitHub employees have tried to ensure that GitHub Copilot will generate high quality, secure code. “We’ve built a number of security mechanisms into Copilot that we believe are state of the art in terms of reducing the risk of errors in various areas here, but they’re certainly not perfect,” Friedman said.
The underlying technology will not be just Microsoft’s. OpenAI will release the Codex model this summer for third-party developers to integrate into their own applications, Brockman said.
Microsoft may one day release a version of the product that companies can train to understand their programming styles, Scott said. At this time, Microsoft only offers the service that knows about code stored in public repositories.
LOOK: Microsoft is developing Netflix-like hardware for games