RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

GitHub Copilot

Product
Developers: GitHub, Microsoft
Date of the premiere of the system: June 2021
Last Release Date: 2022/06/22
Branches: Information Technology
Technology: Application Development Tools

Content

2023: Product Loss

In early October 2023, it became known that Microsoft was losing up to $80 a month on each user of GitHub Copilot, an artificial intelligence-based service designed to help developers Visual Studio Code, Visual Studio, Neovim and JetBrains complete the program code. Thus, this tool, jointly developed by GitHub and OpenAI, brings significant losses to the Redmond corporation.

According to The Wall Street Journal, citing information received from knowledgeable persons, the actual cost of servicing each user of the GitHub Copilot service is on average $20 per month, while the cost of a 30-day subscription is half that - $10. Moreover, in some cases, real costs can reach $80 per user.

Copilot's GitHub brings significant losses to Mircosoft

GitHub Copilot uses large OpenAI language models that require high-performance, expensive hardware to train and keep running. In particular, Microsoft uses tens of thousands of Nvidia A100 and H100 accelerators. In addition to the fact that each copy of the H100 costs about $30 thousand (as of the beginning of October 2023), the corporation also needs to pay for electricity, the consumption of which is very high in the case of large-scale AI platforms.

One way to reduce costs is to use specialized accelerators instead of traditional GPU-based solutions. Accelerators focused specifically on AI tasks are designed by many companies, including Google and Amazon. According to available information, OpenAI is also considering creating its own accelerators for AI applications: the emergence of such products will improve performance while reducing power consumption.[1]

2022: Completion of GitHub Copilot testing

On June 22, 2022, GitHub announced the completion of testing the GitHub Copilot intelligent assistant capable of generating generic designs when writing code. The system was developed in conjunction with the OpenAI project and uses the OpenAI Codex machine learning platform, trained on a large array of source texts posted in public GitHub repositories. The service is free for accompanying open source projects and students. For other categories of users, access to GitHub Copilot is paid (as of June 2022: $10 per month or $100 per year), but free trial access is provided for 60 days.

GitHub Copilot

As reported, code generation is supported in languages, programming Python, JavaScript TypeScript,, Ruby Go, C# C++ and using various frameworks. Modules are available for integrating GitHub Copilot with Neovim, IDEs, and development environments JetBrains. Visual Studio Judging Visual Studio Code by the telemetry collected during the testing process, the service allows you to generate proper quality code - for example, 26% of the recommendations proposed in GitHub Copilot were accepted by the developers as is.

Copilot differs from traditional code completion systems in GitHub by the ability to form fairly complex code blocks, up to ready-made functions synthesized taking into account the current context. GitHub Copilot adapts to the developer's way of writing code and takes into account the APIs and frameworks used in the program. For example, if you have a JSON structure in the comment, when you start writing a function to parse this structure, GitHub Copilot will offer ready-made code, and when you write routine enumerations of repeating descriptions, it will form the remaining positions.

The ability of GitHub Copilot to generate ready-made blocks of code has led to disputes related to the potential violation of copyleft licenses. When forming a machine learning model, real source texts from open project repositories posted on GitHub were used. Many of these projects come under copyleft licenses, such as the GPL, requiring delivery under a compatible derivative code license. If the existing code proposed by Copilot is inserted, developers may involuntarily violate the license for the project from which this code was borrowed.

Whether the work generated by the machine learning system can be considered a derivative is not yet clear. There are also questions about whether the machine learning model is an object of copyright and if so, who owns these rights and how they relate to the rights to the code on the basis of which the model is built.

On the one hand, the generated blocks can repeat excerpts of text from existing projects, but on the other hand, the system recreates the code structure rather than copying the code itself. According to a study conducted in GitHub, only in 1% of cases the recommendation proposed by Copilot may include excerpts of code existing projects larger than 150 characters. In most situations, replays occur when Copilot cannot correctly define the context or offers typical solutions to the problem.

To prevent the substitution of existing code, Copilot has added a special filter that does not allow interference with existing projects. When configuring, the developer can, at his discretion, activate or disable this filter. Among other problems, it is noted that the synthesized code can repeat the errors and vulnerabilities present in the code used to train the[2] model[3].

2021: Launch of a free AI tool that gives programmers hints when writing code

At the end of June 2021, Microsoft released a free AI tool that gives programmers hints when writing code. A project called GitHub Copilot was created with the participation of the OpenAI organization (its OpenAI Codex technology formed the basis of the system).

Developers write code in specialized editors called integrated development environments, which provide a variety of time-saving features. They fix syntax errors, such as incorrectly set semicolons, and with the help of third-party plugins can perform complex tasks, such as specifying vulnerabilities that can be exploited by cybercriminals. Copilot has the same goal of saving developers time by automating routine tasks.

Microsoft releases free AI tool GitHub Copilot, giving programmers clues when writing code

At the same time, the tool, according to the developers, offers more complex scenarios. Particular attention was paid to the integration of what is created software with external components, for example, with databases or a payment service.

The algorithm can determine when a programmer starts writing a new piece of code and automatically terminate it. If necessary, Copilot is able to generate several more lines of code to complete the fragment on which the programmer is working. The tool understands dozens of programming languages ​ ​ (among them JavaScript-,, Python Go, TypeScript and Ruby) and can help with many different types of projects. As the developer works with the system, it adapts to its style and begins to offer more productive solutions, accelerating the person's current capabilities.

GitHub Copilot

In the future, Microsoft plans to release a version of the product that companies can train to understand their own programming styles. By the end of June 2021, Microsoft is offering a tool that only learns from code stored in public repositories.[4] [5]

Notes