Моделі та платформи ШІ
Чи закінчать великі мовні моделі програмування?
Минулий тиждень став значним етапом для OpenAI, оскільки вони представили GPT-4 Turbo на своїй OpenAI DevDay. Однією з видатних особливостей GPT-4 Turbo є розширена вікно контексту на 128 000, суттєвий стрибок від 8 000 GPT-4. Ця вдосконалення дозволяє обробляти текст у 16 разів більший, ніж його попередник, що еквівалентно близько 300 сторінкам тексту.
Цей прогрес пов’язаний з іншим важливим розвитком: потенційним впливом на ландшафт стартапів SaaS.
ChatGPT Enterprise від OpenAI з його просунутими функціями становить загрозу для багатьох стартапів SaaS. Ці компанії, які пропонували продукти та послуги навколо ChatGPT або його API, тепер зіштовхуються з конкуренцією з інструментом з можливостями підприємства. Пропозиції ChatGPT Enterprise, такі як верифікація домену, SSO та аналіз використання, прямо перекриваються з багатьма існуючими послугами B2B, потенційно загрожуючи виживанню цих стартапів.
У своєму ключовому слові генеральний директор OpenAI Сем Альтман розкрив іншу велику розробку: розширення знань GPT-4 Turbo. На відміну від GPT-4, який мав інформацію лише до 2021 року, GPT-4 Turbo оновлений знаннями до квітня 2023 року, що є суттєвим кроком вперед у актуальності та застосуванні AI.
ChatGPT Enterprise виділяється функціями, такими як підвищена безпека та конфіденційність, високошвидкісний доступ до GPT-4 та розширені вікна контексту для довших входів. Його просунуті можливості аналізу даних, варіанти налаштування та видалення обмежень використання роблять його кращим вибором, ніж його попередники. Його здатність обробляти довші входи та файли, разом з необмеженим доступом до просунутих інструментів аналізу даних, таких як раніше відомий Code Interpreter, ще більше зміцнює його привабливість, особливо серед бізнесів, які раніше були вагалися через проблеми безпеки даних.
Ера ручного створення коду поступається місцем системам, керованим AI, які навчаються замість програмування, що свідчить про фундаментальну зміну у розробці програмного забезпечення.
The mundane tasks of programming may soon fall to AI, reducing the need for deep coding expertise. Tools like GitHub’s CoPilot and Replit’s Ghostwriter, which assist in coding, are early indicators of AI’s expanding role in programming, suggesting a future where AI extends beyond assistance to fully managing the programming process. Imagine the common scenario where a programmer forgets the syntax for reversing a list in a particular language. Instead of a search through online forums and articles, CoPilot offers immediate assistance, keeping the programmer focused towards to goal.
Перехід від низькокодових до AI-керованих розробок
Low-code та no-code інструменти спрощували процес програмування, автоматизуючи створення базових блоків коду та звільняючи розробників від творчих аспектів своїх проєктів. Але коли ми вступаємо в цю нову хвилю AI, ландшафт змінюється далі. Простота інтерфейсів користувача та можливість генерації коду через прості команди, такі як “Будь ласка, створіть веб-сайт для X”, революціонізують процес.
Вплив AI на програмування вже величезний. Подібно до того, як ранні комп’ютерні вчені переходили від електротехніки до більш абстрактних концепцій, майбутні програмісти можуть розглядати детальне програмування як застаріле. Швидкий прогрес у сфері AI не обмежується генерацією тексту/коду. У сфері генерації зображень модель розсіювання, така як Runway ML, DALL-E 3, демонструє суттєві поліпшення. Просто подивіться на нижче твіт Runway, який демонструє їхню останню функцію.
https://twitter.com/runwayml/status/1723033256067489937
Розширення впливу AI за межі програмування на творчі галузі також буде трансформаційним. Джефф Катценберг, титан кіноіндустрії та колишній голова Walt Disney Studios, прогнозує, що AI суттєво знизить вартість виробництва анімаційних фільмів. За даними недавньої статті з Bloomberg Катценберг передбачає суттєве зниження вартості на 90%. Це може включати автоматизацію трудомістких завдань, таких як інтерполяція в традиційній анімації, рендеринг сцен та навіть допомогу у творчих процесах, таких як дизайн персонажів та сторібординг.
Економічна ефективність AI у програмуванні
Аналіз витрат на працевлаштування програміста:
- Загальна компенсація: Середня зарплата програміста, включаючи додаткові вигоди у технологічних центрах, таких як Кремнієва долина чи Сіетл, становить приблизно 312 000 доларів на рік.
Добовий аналіз витрат:
- Робочі дні на рік: Приблизно 260 робочих днів на рік, добова вартість працевлаштування програміста становить близько 1 200 доларів.
- Вихід коду: Припускаючи щедру оцінку у 100 завершених, протестованих, перевірених та затверджених рядків коду на добу, цей добовий вихід є підставою для порівняння.
Аналіз витрат на використання GPT-3 для генерації коду:
- Вартість токена: Вартість використання GPT-3, на момент відео, становила близько 0,02 долара за кожні 1 000 токенів.
- Токени на рядок коду: В середньому, рядок коду може містити близько 10 токенів.
- Вартість 100 рядків коду: Отже, вартість генерації 100 рядків коду (або 1 000 токенів) за допомогою GPT-3 становила б близько 0,12 долара.
Порівняльний аналіз:
- Вартість рядка коду (людина проти AI): Порівнюючи витрати, генерація 100 рядків коду на добу коштує 1 200 доларів, коли це робить людина-програміст, у порівнянні з лише 0,12 долара за допомогою GPT-3.
- Коефіцієнт витрат: Це представляє різницю у витратах у 10 000 разів, причому AI є суттєво дешевшим.
Цей аналіз вказує на економічний потенціал AI у сфері програмування. Низька вартість генерації коду AI порівняно з високими витратами на людських розробників свідчить про майбутнє, де AI може стати переважним методом генерації коду, особливо для стандартних або повторюваних завдань. Ця зміна може привести до суттєвих заощаджень для компаній та переоцінки ролі людських програмістів, потенційно зосереджуючи їхні навички на більш складних, творчих або наглядових завданнях, які AI поки що не може виконувати.
Універсальність ChatGPT поширюється на різні контексти програмування, включаючи складні взаємодії з веб-фреймворками. Розгляньте сценарій, у якому розробник працює з React, популярною бібліотекою JavaScript для побудови інтерфейсів користувача. Традиційно це завдання включало дослідження обширної документації та прикладів, наданих спільнотою, особливо при роботі з інтригуючими компонентами або керуванням станом.
З ChatGPT цей процес спрощується. Розробник просто описує функціональність, яку вони хочуть реалізувати в React, і ChatGPT надає відповідні, готові до використання фрагменти коду. Це може варіюватися від налаштування базової структури компонента до більш просунутих функцій, таких як керування станом за допомогою хуків або інтеграція з зовнішніми API. Зменшуючи час, витрачений на дослідження та спроби і помилки, ChatGPT підвищує ефективність та прискорює розвиток проєктів у контексті веб-розробки.
Виклики у програмуванні, керованому AI
Як AI продовжує змінювати ландшафт програмування, важливо визнати обмеження та виклики, пов’язані з виключною залежністю від AI для завдань програмування. Ці виклики підкреслюють необхідність збалансованого підходу, який використовує сильні сторони AI, визнаючи його обмеження.
- Якість коду та підтримка: Код, згенерований AI, іноді може бути розгорнутим або неефективним, потенційно призводячи до проблем з підтримкою. Хоча AI може писати функціональний код, забезпечення того, щоб цей код відповідав найкращим практикам читабельності, ефективності та підтримки, залишається завданням людини.
- Відладка та обробка помилок: Системи AI можуть генерувати код швидко, але вони не завжди добре справляються з відладкою або розумінням нюансів помилок у існуючому коді. Нюанси відладки, особливо у великих, складних системах, часто вимагають тонкого розуміння та досвіду людини.
- Залежність від навчальних даних: Ефективність AI у програмуванні значною мірою залежить від якості та обсягу його навчальних даних. Якщо навчальні дані не містять прикладів певних помилок, шаблонів чи сценаріїв, здатність AI обробляти ці ситуації є компрометованою.
- Етичні та безпекові проблеми: З більш активною участю AI у програмуванні виникають етичні та безпекові проблеми, особливо щодо конфіденційності даних та потенційних упереджень у коді, згенерованому AI. Забезпечення етичного використання та вирішення цих проблем є важливим для відповідального розвитку інструментів програмування, керованих AI.
Збалансування AI та традиційних навичок програмування
У майбутніх командах розробки програмного забезпечення може з’явитися гібридна модель. Менеджери продукту можуть перекладати вимоги у директиви для генераторів коду AI. Людський нагляд може все ще бути необхідним для забезпечення якості, але фокус зміщується від написання та підтримки коду до верифікації та налаштування виходів, згенерованих AI. Ця зміна свідчить про зменшення акценту на традиційних принципах програмування, таких як модульність та абстракція, оскільки код, згенерований AI, не потребує дотримання стандартів підтримки, орієнтованих на людину.
У цій новій ері роль інженерів та вчених-комп’ютерників трансформуватиметься суттєво. Вони будуть взаємодіяти з великими мовними моделями, забезпечуючи навчальні дані та приклади для виконання завдань, зміщуючи фокус від детального програмування до стратегічної роботи з моделями AI.
Базова одиниця обчислень зміщується від традиційних процесорів до величезних, попередньо натренованих моделей LLM, що свідчить про відхід від передбачуваних, статичних процесів до динамічних, адаптивних агентів AI.
Фокус переходить від створення та розуміння програм до керування моделями AI, переозначаючи ролі вчених-комп’ютерників та інженерів і змінюючи нашу взаємодію з технологіями.
Постійна необхідність людської інтуїції у коді, згенерованому AI
Майбутнє програмування менше про кодування, а більше про керування інтелектом, який буде керувати нашим технологічним світом.
Вірять, що обробка природної мови AI може повністю замінити точність та складність формальних математичних позначень та традиційних мов програмування, є, в найкращому випадку, передчасним. Зміна у бік AI у програмуванні не усуває потребу у суворості та точності, яку можуть забезпечити лише формальне програмування та математичні навички.
Крім того, проблема тестування коду, згенерованого AI, на проблеми, які раніше не були вирішені, залишається суттєвою. Техніки, такі як тестування на основі властивостей, вимагають глибокого розуміння програмування, навичок, які AI, у своєму поточному стані, не можуть повторити чи замінити.
У підсумку, хоча AI обіцяє автоматизувати багато аспектів програмування, людський елемент залишається критично важливим, особливо в областях, які вимагають творчості, складного вирішення проблем та етичної нагляду.












