Yapay Zekâ

Büyük Dil Modelleri Programlamayı Sonlandırır mı?

mm
LLM replacing human programmers

Geçen hafta OpenAI için önemli bir dönüm noktası olarak, OpenAI DevDay’de GPT-4 Turbo’yu tanıttı. GPT-4 Turbo’nun önemli bir özelliği, 128.000’e kadar genişletilmiş bağlam penceresidir, bu da GPT-4’ün 8.000’ine göre önemli bir sıçramadır. Bu iyileştirme, önceki sürümün 16 katına kadar daha fazla metin işlenmesini sağlar, bu da yaklaşık 300 sayfa metne eşittir.

Bu ilerleme, SaaS startup’larının manzarasına olası etkisine ilişkin başka bir önemli gelişme ile bağlantılıdır.

OpenAI’nin ChatGPT Enterprise’ı, gelişmiş özellikleriyle birçok SaaS startup’larına meydan okumaktadır. ChatGPT veya API’leri etrafında ürün ve hizmetler sunan bu şirketler, şimdi kurumsal düzeyde yeteneklere sahip bir araçla rekabet etmektedirler. ChatGPT Enterprise’ın sunduğu alan doğrulama, SSO ve kullanım analizleri gibi özellikler, birçok mevcut B2B hizmetiyle doğrudan çakışmaktadır ve bu da bu startup’ların hayatta kalmasını tehlikeye atabilmektedir.

OpenAI CEO’su Sam Altman, ana konuşmasında başka bir önemli gelişmeyi daha açıkladı: GPT-4 Turbo’nun bilgi kesme süresinin uzatılması. GPT-4’ün yalnızca 2021’e kadar bilgiye sahip olduğu halde, GPT-4 Turbo, Nisan 2023’e kadar güncellenmiştir ve bu, AI’ın alaka düzeyi ve uygulanabilirliğinde önemli bir adım atmıştır.

ChatGPT Enterprise, gelişmiş güvenlik ve gizlilik, GPT-4’e yüksek hızlı erişim ve daha uzun girişler için genişletilmiş bağlam pencereleri gibi özelliklerle öne çıkmaktadır. Veri analizinin gelişmiş araçlarına erişim, özelleştirme seçenekleri ve kullanım sınırlarının kaldırılması, bu aracı önceki sürümlerden daha üstün kılmaktadır. Daha uzun girişler ve dosyalarla işleme yeteneği, ayrıca Code Interpreter gibi gelişmiş veri analiz araçlarına sınırsız erişim, özellikle veri güvenliği endişeleri nedeniyle tereddüt eden işletmeler arasında bu aracın çekiciliğini artırmaktadır.

Elle kod yazma çağı, yerine AI sürümlü sistemlerin geldiği bir döneme doğru ilerlemektedir, bu da yazılım geliştirmesinde temel bir değişikliği işaret etmektedir.

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.

Düşük Koddan AI Sürümlü Geliştirmeye Geçiş

Low-code ve no-code araçları, programlama sürecini basitleştirdi, temel kod bloklarının oluşturulmasını otomatikleştirdi ve geliştiricilerin projelerinin yaratıcı yönlerine odaklanmalarını sağladı. Ancak AI dalgasına girerken, manzara daha da değişmektedir. Kullanıcı arayüzlerinin basitliği ve kod oluşturmak için basit komutlar verme yeteneği, süreci devrimleştiriyor.

AI’nin programlamadaki etkisi zaten büyük. İlk bilgisayar bilimcilerinin elektrik mühendisliğinden daha soyut kavramlara geçişine benzer şekilde, gelecekteki programcılar, ayrıntılı kod yazmayı eski bir yöntem olarak görebilirler. AI’nin hızlı ilerlemeleri, yalnızca metin/kod oluşturma ile sınırlı değil. Görüntü oluşturma, difüzyon modeli gibi Runway ML, DALL-E 3, büyük улучшmeler gösteriyor. Aşağıdaki tweeti Runway, son özelliğini gösteriyor.

https://twitter.com/runwayml/status/1723033256067489937

Programlamadan öte, AI’nin yaratıcı endüstriler üzerindeki etkisi eşit derecede dönüştürücü olacak. Film endüstrisinin devi ve eski Walt Disney Stüdyoları başkanı Jeff Katzenberg, AI’nin animasyon filmlerinin üretim maliyetini önemli ölçüde azaltacağını öngördü. Bloomberg’dan最近 bir makaleye göre Katzenberg, maliyetlerde %90’lık bir azalma öngörüyor. Bu, geleneksel animasyondaki ara aşamaların otomatikleştirilmesi, sahne işleme ve karakter tasarımı ve hikaye anlatımı gibi yaratıcı süreçlerle yardım gibi işleri içerebilir.

Kodlama中的 AI’nin Mali Etkinliği

Yazılım Mühendisinin Toplam Ücreti:

  1. Toplam Ücret: Teknoloji merkezleri gibi Silikon Vadisi veya Seattle’da bir yazılım mühendisinin ortalama ücreti, ek faydalar dahil olmak üzere yaklaşık 312.000 dolar yıldır.

Günlük Maliyet Analizi:

  1. Çalışma Günleri: Bir yılda yaklaşık 260 çalışma günü olduğunu düşünürsek, bir yazılım mühendisinin günlük maliyeti yaklaşık 1.200 dolar.
  2. Kod Çıktısı: Günde 100 final, test, inceleme ve onaylanmış kod satırı olduğunu varsayarsak, bu günlük çıktı, karşılaştırma için temel olacaktır.

GPT-3 için Kod Oluşturma Maliyet Analizi:

  1. Token Maliyeti: GPT-3’ün maliyeti, o zaman, her 1.000 token için yaklaşık 0,02 dolar.
  2. Her Kod Satırında Token: Ortalama bir kod satırında yaklaşık 10 token olduğunu varsayarsak,
  3. 100 Kod Satırının Maliyeti: Bu nedenle, 100 kod satırını (veya 1.000 token) GPT-3 kullanarak oluşturmanın maliyeti yaklaşık 0,12 dolar.

Karşılaştırmalı Analiz:

  • Her Kod Satırının Maliyeti (İnsan vs. AI): Maliyetleri karşılaştırdığımızda, bir insan yazılım mühendisi tarafından günde 100 kod satırı oluşturmanın maliyeti 1.200 dolar iken, GPT-3 kullanarak yalnızca 0,12 dolar.
  • Maliyet Faktörü: Bu, AI’nin yaklaşık 10.000 kat daha ucuz olduğunu gösteren bir maliyet faktörü farkını temsil etmektedir.

Bu analiz, programlamadaki AI’nin ekonomik potansiyelini vurgulamaktadır. AI tarafından oluşturulan kodun maliyeti, insan geliştiricilerin yüksek maliyetine kıyasla, AI’nin özellikle standart veya tekrarlayan görevler için kod oluşturma yöntemi olarak tercih edilebileceğini göstermektedir. Bu dönüşüm, şirketler için önemli maliyet tasarrufu sağlayabilir ve insan programcılarının rollerini, AI tarafından ele alınamayan daha karmaşık, yaratıcı veya denetim görevlerine odaklanmak üzere yeniden değerlendirebilir.

ChatGPT, web geliştirme çerçeveleri ile karmaşık etkileşimler dahil olmak üzere çeşitli programlama bağlamlarında uygulanabilir. Bir geliştiricinin React ile çalıştığını, bir JavaScript kütüphanesini kullanıcı arayüzleri oluşturmak için kullandığını düşünün. Tradisyonel olarak bu görev, geniş belgeleri ve topluluk tarafından sağlanan örnekleri araştırmayı içerirdi, özellikle de karmaşık bileşenler veya durum yönetimi ile çalışırken.

ChatGPT ile bu süreç basitleşir. Geliştirici, React’te uygulamak istediği işlevi tanımlayabilir ve ChatGPT ilgili, kullanıma hazır kod parçaları sağlar. Bu, temel bir bileşen yapısını kurmaktan, durum yönetimi için hook’ları entegre etmek veya dış API’lerle çalışmak gibi daha gelişmiş özelliklere kadar çeşitlilik gösterebilir. Araştırma ve deneme-yanılma zamanını azaltarak, ChatGPT web geliştirme bağlamlarında verimliliği artırır ve proje geliştirmeyi hızlandırır.

AI Sürümlü Programlamanın Zorlukları

AI, programlama manzarasını yeniden şekillendirirken, yalnızca AI’ye dayanarak programlama görevlerine ilişkin sınırlamaları ve zorlukları tanımak önemlidir. Bu zorluklar, AI’nin güçlü yönlerini kullanırken sınırlamalarını da tanımak için dengeli bir yaklaşımın necessity olduğunu vurgulamaktadır.

  1. Kod Kalitesi ve Bakımı: AI tarafından oluşturulan kod bazen verböz veya verimsiz olabilir, bu da bakım zorluklarına neden olabilir. AI işlevsel kod yazabilir, ancak bu kodun okunabilirlik, verimlilik ve bakım için en iyi uygulamalara uyduğunu garantilemek insanlara düşen bir görevdir.
  2. Hata Ayıklama ve Hata İşleme: AI sistemleri kodu hızlı bir şekilde oluşturabilir, ancak hata ayıklama veya mevcut kodlardaki nüanslı hataları anlamakta her zaman başarılı olmayabilir. Büyük, karmaşık sistemlerdeki hata ayıklama nüansları genellikle bir insanın nüanslı anlayış ve deneyimini gerektirir.
  3. Eğitim Verilerine Bağımlılık: AI’nin programlamadaki etkinliği, büyük ölçüde eğitim verilerinin kalitesi ve genişliğine bağlıdır. Eğitim verilerinin belirli hatalar, kalıplar veya senaryolar için örnekler içermediği durumlarda, AI’nin bu durumlarla başa çıkma yeteneği tehlikeye girer.
  4. Etik ve Güvenlik Kaygıları: AI, programlamanın daha önemli bir rolü oynarken, özellikle veri gizliliği ve AI tarafından oluşturulan kodda olası önyargılar konusunda etik ve güvenlik endişeleri ortaya çıkmaktadır. AI sürümlü programlama araçlarının sorumlu geliştirilmesi için bu endişelerin ele alınması önemlidir.

AI ve Geleneksel Programlama Becerilerini Denglemek

Gelecekte, yazılım geliştirme ekiplerinde melez bir model ortaya çıkabilir. Ürün yöneticileri, AI kod oluşturucularına direktifler çevirebilir. İnsan denetimi, kalite güvencesi için hala gerekli olabilir, ancak odak, kod yazma ve bakımından AI tarafından oluşturulan çıktıların doğrulanması ve ayarlanması yönünde değişecektir. Bu değişiklik, geleneksel kodlama prensiplerinin, modülerlik ve soyutlamanın önemini azaltabileceğini öne sürmektedir, çünkü AI tarafından oluşturulan kod, insan merkezli bakım standartlarına uymak zorunda değildir.

Bu yeni çağda, mühendislerin ve bilgisayar bilimcilerinin rolleri önemli ölçüde dönüşecektir. AI modelleriyle etkileşime girecekler, görevleri gerçekleştirmek için eğitim verisi ve örnekler sağlayacaklar, odakları, ayrıntılı kod yazmaktan AI modelleriyle stratejik olarak çalışmaya kayacaktır.

Temel hesap birimi, geleneksel işlemcilerden büyük, önceden eğitilmiş LLM modellerine kayacaktır, bu da öngörülebilir, statik süreçlerden dinamik, uyarlanabilir AI ajanlarına geçişi işaret edecektir.

Odak, programlar oluşturmak ve anlamaktan, AI modellerini yönlendirmeye ve teknoloji ile etkileşimimizi yeniden tanımlamaya doğru kayacaktır.

AI Tarafından Oluşturulan Kodda İnsan Uzmanlığının Sürekli İhtiyacı

Programlamanın geleceği, kod yazmaktan çok, teknoloji dünyamızı sürdürecek zekayı yönlendirmek hakkında olacak.

Doğal dil işleme yeteneklerinin, formal matematiksel gösterimlerin ve geleneksel programlamanın kesinliği ve karmaşıklığını tam olarak karşılayabileceği inancı, en iyi durumda преждевремendir. Programlamadaki AI’ye geçiş, formal programlama ve matematiksel becerilerin sağladığı titizlik ve kesinliğin necessity olmadığını ortadan kaldırmaz.

Dahası, daha önce çözülmemiş sorunlar için AI tarafından oluşturulan kodu test etme zorluğu önemli bir zorluktur. Özellik tabanlı test gibi teknikler, programlamanın derin bir anlayışını gerektirir, bu da AI’nin当前 durumunda taklit edilemeyen veya değiştirilemeyen bir beceridir.

Özetle, AI birçok programlama yönünü otomatikleştirmeyi vaat etse de, özellikle yaratıcılık, karmaşık problem çözme ve etik denetim gerektiren alanlarda insan unsuru hala çok önemlidir.

Son beş yıldır Makine Öğrenimi ve Derin Öğrenme dünyasına kendimi adamış bulunuyorum. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla çeşitli yazılım mühendisliği projesine katkıda bulunmama yol açtı. Süregelen meraklılığım da beni Doğal Dil İşleme alanına yöneltti, bu alana daha da derinlemesine girmeye hevesliyim.