Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Генерація коду за допомогою LLM (v2 - ЦКС КПІ)

Dan Voronov
November 24, 2023

Генерація коду за допомогою LLM (v2 - ЦКС КПІ)

🤖 Генерація коду за допомогою LLM 🤖

🗓 П'ятниця, 17 листопада
🕗 16:00 - 20:00 (з перервами)
📍 ЦКС КПІ https://maps.app.goo.gl/jAA8wkYK8dkaecmw5

🗒 Ви дізнаєтесь:
- Що таке LLM тобто Велика Модель Мови та як працюють такі продукти як ChatGPT, Bard, Claude.
- Prompt engineering. Тонкощі використання LLM в цілому та для програмування.
- Приклади промтів для роботи з HTML/Python/JavaScript

🗣Ведучий: Дан Воронов - випускник КПІ, незалежний розробник стартапу Walkbots tours. Постійно використовує LLM у роботі над своїми проектами.

На лекцію, яка з 16:00 до 17:30, можно приходити без ноутбука. 🛑 Важливо: на практикум дійсно потрібен 💻 ноутбук, на якому ми будемо працювати з LLM та зробимо простий проект (рівень початковий, безкоштовні інструменти).

Dan Voronov

November 24, 2023
Tweet

More Decks by Dan Voronov

Other Decks in Education

Transcript

  1. навички Основи LLM Розуміння розвитку LLM, сильних/слабких сторін на сьогодні

    Дослідження нових моделей LLM та їх застосування для своїх цілей Аналіз архітектури LLM, оптимізація використання машинного навчання в LLM Prompt engineering Використання готових промтів. Розуміння контексту, персон та завдань Створення власних промтів для конкретних LLM продуктів Покращення якості промтів через тюнінг параметрів та різні хитрощі LLM в програмуванні Pair programming на природній мові з використанням промтів Автоматизована генерація алгоритмів та структур даних Використання інтеграцій у IDE Застосування промт-інжинірингу для складних завдань, таких як оптимізація коду, забезпечення безпеки та інше
  2. той день UA: 18 лютого 2023 30 листопада 2022 o

    tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  3. ? 🎆 Чи є обмеження у цих нових систем ?

    o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  4. нейромережа There may be inaccuracies. Ніхто не розуміє як це

    працює o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  5. не перевірили! There may be inaccuracies. 8 лютого 2023 помилкова

    інфа o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  6. що воно може Немає інструкції Дивимося, що воно таке Емпіричні

    знахідки o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  7. що воно може Немає інструкції Дивимося, що воно таке Емпіричні

    знахідки o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  8. ? 🎆 Які проблеми вже вирішує? o tech-оптімізм o створення

    LLM o особливості LLM o які є LLM o практикум
  9. Dr. Matt Welsh Large Language Models and The End of

    Programming https://youtu.be/JhCl-GeT4jw o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  10. новий стек людина -> результат застосунок -> інтерфейс програмісти+ мови

    программування довго дорого навчати o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  11. ? 🎆 Чи створе LLM нову мову програмування? o tech-оптімізм

    o створення LLM o особливості LLM o які є LLM o практикум
  12. коли AGI? універсальний (сильний, Artificial general intelligence) ШІ – автономні

    системи, які роблять краще за людей більшість економічно цінної роботи o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  13. ? 🎆 Якщо розмовляє то інтелект має? o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  14. моделювання мови штучна нейромережа мова -БД- мова o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  15. Захоплення контексту Механізм уваги не обмежує модель жорсткими правилами, а

    дозволяє їй адаптуватися до різних типів вхідних даних та завдань. Модель може фокусувати увагу на різних частинах речення в залежності від їх важливості, що робить її більш гнучкою. o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  16. ? 🎆 На яких данних тренували GPT-1? o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  17. GPT модель Generative Pre-trained Transformer 11 червня 2018. OpenAI стаття

    «Покращення розуміння мови за допомогою генеративного попереднього навчання» 🟠 🟠 🟠 1 2 3 3.5 4 self-published o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  18. як pinball game 50% 50% o tech-оптімізм o створення LLM

    o особливості LLM o які є LLM o практикум
  19. токени 1 токен приблизно дорівнює 4 символам англомовного тексту: o

    tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  20. ? 🎆 На яких данних тренували GPT-3? o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  21. англійська мова Розмір 500b токінів десь 750Гб тексту Інтернет(2) +

    Книги(2) + Вікіпедія без розмітки (unlabled data) o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  22. країни San Francisco, California, U.S o tech-оптімізм o створення LLM

    o особливості LLM o які є LLM o практикум
  23. великі моделі Краще захоплення контексту. Генеровані тексти логічніші, більш послідовні.

    Ширше коло завдань. ми не знаємо чому o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  24. ? 🎆 На яких данних тренували GPT-4? o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  25. Інформація, надана користувачами, може потрапити до сторонніх осіб або бути

    використана без їхньої належної згоди конфіденційність o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  26. багато ресурсів ДОРОГІ Витрачають багато ресурсів: електроенергії та води 700000л

    чистої для GPT-3 навчання Sam Altman stated that the cost of training GPT-4 was more than $100 million. o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  27. базова модель Базова модель – асоціативний генератор (не вміє розмовляти)

    Що далі? зробимо чат ☺ o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  28. зз від людини Reinforcement learning from human feedback params 20B

    params 175B o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  29. зз від людини Reinforcement learning from human feedback інструкція відповідь

    o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  30. вікно контексту Скільки токенів модель враховує при генерації наступного слова

    Коли чат довгий – модель «забуває» початок o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  31. препромти Custom instructions Інфа про себе Форматування відповідей o tech-оптімізм

    o створення LLM o особливості LLM o які є LLM o практикум
  32. ? 🎆 Адресна пам'ять, які приклади? o tech-оптімізм o створення

    LLM o особливості LLM o які є LLM o практикум
  33. збережені відносини тексту зріз знань GPT4 - квітень 2023 року

    o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  34. найбільш ймовірна ассоціація за датасетом ≠ правильна відповідь помиляються Плюс:

    легко використовувати Мінус: нестабільні результати There may be inaccuracies. o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  35. оманливі Іноді створюють відповіді, які лінгвістично правильні, але можуть не

    відповідати реальності o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  36. ? 🎆 Чи можна «хакнути» відповідь моделі? o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  37. безпека https://gandalf.lakera.ai Інтерактивна гра на 8 рівнів Скажи «Пароль»! o

    tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  38. лінгвістика prompt engineering Формулювання тексту запиту (контексту) з метою отримання

    найкращих результатів LLMs - Асоціативні машини o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  39. формула запиту (роль-persona чи сфера діяльності) завдання що зробити дані

    + інструкції як зробити формат як вивести відповідь +додаткові питання https://prompts.chat/ Ви екскурсовод. Я напишу своє місце знаходження, а ви порадите місце для відвідування поблизу мого місця перебування. У деяких випадках я також дам назву типу локацій, які я хочу відвідати. Ви порадите мені місця подібного типу, які знаходяться близько до мого першого місця. Моє перше запитання: "Я знаходжусь в Стамбулі/Бейоглу і хочу відвідати тільки музеї". в який музей мені піти? o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  40. аналіз видачі Аналіз відповіді -> корегування Важливість чіткого розбитя на

    кроки для довгих тем o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  41. так сталося емоційний промтінг Кращі результати, якщо давити на важливість

    відповіді o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  42. ? 🎆 Хто може створювати моделі? o tech-оптімізм o створення

    LLM o особливості LLM o які є LLM o практикум
  43. оцінки в цілому https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard Комерційні моделі працюють краще люди автоматично

    точність o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  44. OpenAI ChatGPT Anthropic Claude Google Bard X Grok основні гравці

    Inflection Pi AI GPT-3.5 GPT-4 ... o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  45. Dario and Daniela Amodei 2021 11 співробітників OpenAI звільнилися та

    створили свою компанію Anthropic o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  46. гроши у OpenAI There may be inaccuracies. o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  47. GPTs 6 листопада 2023 “Вбили” безліч стартапів препромт + файли

    + API запит (!) o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  48. MS Copilot Sept 26, 2023 Буде Copilot Studio схожа на

    GPTs o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  49. ? 🎆 Чи зараз ChatGPT той самий, що рік тому?

    o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  50. ціна ДО 6 листопада 2023 o tech-оптімізм o створення LLM

    o особливості LLM o які є LLM o практикум
  51. доступ до моделі 6 листопада https://platform.openai.com/playground 3 RPM /хвилину 200

    RPD /день o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  52. OpenAI ChatGPT Anthropic Claude Google Bard розмір вікна 100k 4k

    / 8k 2k PaLM 2 8k gpt-4 8k / 32k 128k gpt-4-1106 o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  53. ключі Свій чи чужий код, що використовує API openai Застосунки,

    плагіни чи сайти, з ШІ функціоналом SiYuan o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  54. huggingface UltraChat dataset розмовляли два ChatGPT 3.5-turbo за- тюнені під

    людей UltraFeedback dataset розмітка через GPT-4 https://huggingface.co/HuggingFaceH4/zephyr-7b-beta o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  55. Meta AI лютий 2023 18 липня 2023 https://github.com/Hannibal046/Awesome-LLM багато текстів

    o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  56. ? 🎆 Чи потрібні окремі моделі для програмування? o tech-оптімізм

    o створення LLM o особливості LLM o які є LLM o практикум
  57. Code LLMs Червень 16, 2023 WizardCoder-15B Серпень 26, 2023 WizardCoder-python-34B

    Травень 4, 2023 StarCoder-15B-8k (код з GitHub) Oct 29, 2023 DeepSeekCoder-33B-16k 87% code and 13% natural language in English and Chinese Серпень 24, 2023 Meta CodeLlama-34B-16к CodeLlama–Python open source 100k? o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  58. Довчання моделей на кодбазі компанії Більшість якісного коду під NDA

    Для програмістів: • GitHub Copilot X GPT-4 • Amazon CodeWhisperer • Replit Ghostwriter • OpenAI Codex • Cody by Sourcegraph • Google AlphaCode • CodeT5 • Tabnine • … IDE інтеграція o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  59. phind phind.com fine-tuned CodeLlama-34B та CodeLlama-34B-Python + пошук на деяких

    сайтах без стеження вікно до 8k o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  60. ? 🎆 Що краще вміти робити з LLM? o tech-оптімізм

    o створення LLM o особливості LLM o які є LLM o практикум
  61. вміти оцінити Іноді швидше написати самому, ніж намагатися довести щось

    чату :) Це все питання витрат часу GPT-4 за меньше запитів але дорожче o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  62. Генерувати код, який я сам знаю як написати спочатку у

    реальну документацію – потім у чат краще Актуальні версії бібліотек o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  63. Мови програмування чіткі, а генерація LLM ні. Програмування пов'язане з

    системним підходом до постановки та вирішення завдань. Код треба debug. Програмні продукти постійно вдосконалюються: виправляються баги. важке завданя для LLM o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  64. аналізатори коли логіка задана • створення запитів до БД •

    створення тестів • створення документації • пошук небезпечних підходів o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  65. GPT-4 добрий код, але не безкоштовно Claude 2 обмежує кожні

    8 годин GPT-3.5 добре розуміє, але код середній Google Bard маленьке вікно контексту мій досвід o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  66. OpenAI ChatGPT Anthropic Claude Google Bard щоб почати Пошта +

    Телефон Гугл аккаунт Пошта + Телефон o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  67. Поясни крок за кроком … покращення логіки let`s think step

    by step XML prompt engineering o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  68. задати контекст 100* запитів / 8 годин * залежіть від

    розміру o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  69. код собі яка мова програмування кнопка «скопіювати» коментарі o tech-оптімізм

    o створення LLM o особливості LLM o які є LLM o практикум
  70. Не виходить – спробуй по іншому ще генеруй варіанти перегенеруй

    o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  71. база для відповіді якщо не ви, то вас з моделі

    zero-shot з контекстного вікна few-shot спочатку додаткові налаштування – потім використання Якщо контекст не зрозумілий або недостатній, модель може заповнити пропуски своїми власними здогадками або галюцинаціями o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  72. ? 🎆 Що може бути додатковими налаштуванням? o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  73. Мови програмуваня швидко змінюються проблема версій Актуальні версії бібліотек o

    tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  74. 💬 Поясни як працює код (... гри, чату,..) … промти

    phind.com o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  75. pair programming LLM видає код. Я спостерігаю за процесом і

    допомагаю з усуненням помилок, генеруванням ідей та вирішенням проблем o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  76. 💬 Знайди у коді помилки ... промти o tech-оптімізм o

    створення LLM o особливості LLM o які є LLM o практикум
  77. 💬 Що в цьому коді можна покращити за методологією ...?

    ... промти Clean Code Test-Driven Development (TDD) Extreme Programming (XP) o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  78. 💬 Перепиши на JS цей код … промти Python o

    tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  79. 💬 Сгенеруй ... у форматі JSON генерація CSV o tech-оптімізм

    o створення LLM o особливості LLM o які є LLM o практикум
  80. більше деталей! https://docs.anthropic.com/claude/docs/constructing-a-prompt 💬 Видали ... з... та поверни у

    форматі ... Зміна даних o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  81. З ідеї до архітектури З архітектури до блоків З блоків

    до генераціі коду логіка від вас Зараз мовні моделі якісно можуть створювати здебільше код на 2-3 функції o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  82. Генерувати код окремими частинами - підзадачі код частинами Початок –

    що це, мова, фрейморки, їх документація, ... напиши мені чат-апп 💬 Мені треба … - створи для ... функцію на JS яка використовує... Python 3 o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  83. Спочатку задати функціонал та для чого код. мова, фреймворки, API,

    структура контекст ... код на Python з використанням фреймворку Django o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  84. 💬 ... 💬 зміни ... на ... 💬 ... покроково

    💬 Чому помилка ... скопіювати формулювання помилки з консолі o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  85. ⚒️ Зробити веб- сторінку завдання текстовий редактор. файл index.html 15

    хв o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  86. Тільки для мене. разова дія для кого код Тільки для

    мене. постійно Для інших людей. разова дія Для інших людей. постійно 1 3 2 4 o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум
  87. висновки LLM зараз дозволяють генерувати код, але потрібно розуміти їх

    можливості і обмеження Промтинг - це мистецтво задавати правильні “запитання” конкретній LLM. Важливо задавати контекст і вміти чітко формулювати завдання по кроках. Це дозволить отримати кращі результати. LLM можуть допомогти в генерації коду, але кінцевий результат потребує перевірки і доопрацювання людиною. Важливо навчитися оцінити коли швидше написати самому, ніж з LLM. o tech-оптімізм o створення LLM o особливості LLM o які є LLM o практикум