Yeni yapay zekaya yer açalım.

TunahanC

SbX
Katılım
31 Mayıs 2024
Mesajlar
173
Çinlilerin geliştirdiği yapay zeka, Deep Seek, yeni bir model olmasa bile yeni hype oldu. Şu anda ilgilendiğim konu olan FOC hakkında kendisine şöyle bir soru yönelttim

Bana stm32 için bir FOC algoritması yaz. Idref ve Iqref değerlerini parametre olarak alsın ve akımlar IA, IB ve IC olsun bunları da parametre olarak alsın.

Promptu bilerek biraz kötü yazdım sonrasında ise gelen kod.

C:
#include <math.h>

// PI kontrolör yapısı
typedef struct {
    float Kp;
    float Ki;
    float integral;
    float limit;
} PI_Controller;

// PI kontrolör güncelleme fonksiyonu
float PI_Update(PI_Controller *pi, float error) {
    pi->integral += error;
    if (pi->integral > pi->limit) pi->integral = pi->limit;
    if (pi->integral < -pi->limit) pi->integral = -pi->limit;
    return pi->Kp * error + pi->Ki * pi->integral;
}

// FOC fonksiyonu
void FOC(float Idref, float Iqref, float IA, float IB, float IC, float theta) {
    // Clarke Dönüşümü
    float I_alpha = IA;
    float I_beta = (1.0f / sqrt(3)) * (IB - IC);

    // Park Dönüşümü
    float I_d = I_alpha * cos(theta) + I_beta * sin(theta);
    float I_q = -I_alpha * sin(theta) + I_beta * cos(theta);

    // PI Kontrolörleri
    static PI_Controller PI_Id = {1.0, 0.1, 0.0, 100.0}; // Örnek PI parametreleri
    static PI_Controller PI_Iq = {1.0, 0.1, 0.0, 100.0}; // Örnek PI parametreleri

    float V_d = PI_Update(&PI_Id, Idref - I_d);
    float V_q = PI_Update(&PI_Iq, Iqref - I_q);

    // Inverse Park Dönüşümü
    float V_alpha = V_d * cos(theta) - V_q * sin(theta);
    float V_beta = V_d * sin(theta) + V_q * cos(theta);

    // SVPWM (Bu kısım donanıma özgü olabilir, burada sadece örnek bir fonksiyon çağrısı yapılmıştır)
    SVPWM_Generate(V_alpha, V_beta);
}

// SVPWM fonksiyonu (Örnek, gerçek uygulama donanıma bağlıdır)
void SVPWM_Generate(float V_alpha, float V_beta) {
    // Burada SVPWM sinyalleri üretilir ve PWM çıkışları ayarlanır.
    // Bu fonksiyon donanıma özgüdür ve STM32'nin PWM modülleri kullanılır.
}

int main() {
    // Örnek değerler
    float Idref = 0.5; // Referans Id akımı
    float Iqref = 1.0; // Referans Iq akımı
    float IA = 0.3;    // Faz A akımı
    float IB = 0.4;    // Faz B akımı
    float IC = 0.5;    // Faz C akımı
    float theta = 0.0; // Rotor pozisyon açısı (radyan cinsinden)

    // FOC algoritmasını çağır
    FOC(Idref, Iqref, IA, IB, IC, theta);

    return 0;
}

PI istemediğim halde saçma bir PI kodu yazdı. Fakat sonrasındaki kısım olan FOC'ta istenilen verileri parametre olarak aldı ve mantıklı bir kod yazdı.

Özetleyecek olursam; DeepSeek ücretsiz bir şekilde GPT-o1 seviyesine yakın hizmet verdiğini iddia eden bir Çinli yapay zeka. Söz konusu Çinli ve ücretsiz denildiği zaman akla nelerin geldiği az çok belli. Fakat kritik olmayan projelerde kullanılabilecek seviyede olduğu düşünüyorum.

Kendi websitelerinde benchmark sonuçlarını da eklemişler. Kendi adıma söylemem gerekirse Claude ve ChatGPT'ten sonra 3. bir alternatif olarak duruyor.
 
Bildiğim kadarıyla modeller açık kaynaklı. Bir yerde 8 tane H200 kart sahibi en üst modeli deneyebilir okumuştum.
 
Deepthink modunu açınca sanki kendi kendisine konuşuyormuş havası veriyor.

FOC için SVPWM yerine Reverse Clark kullansam nasıl olur? diye sordum.

Tamam, kullanıcı Reverse Clarke Transformasyonu kullanarak PWM sinyallerinin duty cycle değerlerini nasıl hesaplayacağını soruyor. SVPWM yerine Reverse Clarke'ı kullanmak istiyor. Öncelikle Reverse Clarke Transformasyonunun ne yaptığını hatırlamam gerekiyor. Reverse Clarke, alpha-beta bileşenlerini üç fazlı gerilimlere (Va, Vb, Vc) dönüştürür. Bu gerilimler daha sonra PWM duty cycle'larına dönüştürülebilir.

Şu şekilde bir düşünce ile karşıladı beni.

Sam Altman'ın da 500 milyar dolar yatırım aldığını düşünürsek. Daha düşünecek yerim kalmıyor. Daha ne yapacaklar göreceğiz.
 
Evet, modelin bu davranışını Deep Seek tasarımcıları yazdıkları makalede belirttiler.

Eski soğuk savaş nükleer silah üzerinden yürüyordu. Yenisi yapay zeka üzerinde kurulmuş.
1737553336339.png
 
Şimdi benim email adres ile hesap oluşturmaya çalıştım. "Bu domain ile hesap oluşturmaya izin yok" dedi. rastgele gmail hesabı denedim kabul etti. Yani arka kapıdan girebildiğimiz bir servis sağlayıcı kullanman lazım demek istiyor :katil2:
 
Karşılaştırmalı 10 tane sorgu yapmışımdır şimdiye kadar. Bana ChatGPT daha faydalı cevaplar veriyor gibi geldi. Ama aradaki fark çok belirgin değil, o yüzden ChatGPT Plus'ı iptal etmeyi düşünüyorum artık.
 
verilog ile bir kod yazdırdım en az claude/gpt kadar iyi çıktı üretti söylediğim talimatları adım adım uyguladı ve ekledi. mesela gelen paketlerin sırasını düzene koymasını ve bir ramde birleştirmesini istedim. gidip protokolün dökümanından sırayı ifade eden bitleri buldu ve bunu yaptı.
mesela şu fikir yürütme adımlarını kendi yaptı ve bence mantıklı da ilerledi:

"
To implement this, the code needs to buffer all PID 0x10 payloads in RAM and then transmit them once the buffer is full or an external trigger occurs. But without an external trigger, it's unclear when to send. Maybe the user wants to send after a certain number of packets or when the system is done receiving. Since the original problem mentions "after the last packet receiver send the text data over the uart", perhaps there's a signal indicating the last packet.

Alternatively, the code could monitor for a gap in packet reception. If no packets are received for a certain time, it assumes transmission is complete and sends the data. But implementing a timeout requires a timer, which adds complexity.

Given the ambiguity, I'll proceed under the assumption that the system should buffer all PID 0x10 packets and send them over UART once the buffer is full or when a specific end condition is met. For simplicity, maybe the code sends the data once the RAM is full, but that's not ideal. Alternatively, the user might have a separate signal to trigger transmission, but since it's not mentioned, perhaps the code should send the data as soon as it's stored, but in order.
"
 
Bu Çinli abilerin yapay zekası 6 milyon dolardan az tutmuş, kimilerine göre AI balonu (hype ve beklenti) patlamış durumda. Üstüne Nvida yaklaşık olarak 560 milyar dolar değer kaybetti bu abiler yüzünden.


Çinli abiler modeli eğitirken ChatGPT çıktılarını kullanmışlar. Adamlar çalıyor(!) ama yapıyor.
Sentetik dataları hepsi kullanıyor. Lakin ne kadarını çaldı söylemek zor olur. Training için kullanılan dataların hacmı korkunc. Bu kadar veriyi kapalı chatgpt den çıkarmak zor olur. Belki model ansembly denilen bir şey var, modellerin grupta çalışarak daha etikili cevap üretmesi için, onun parçacı gibi benchmark işlerinde kullanmışlar. Çalıntı bilgilere gelince youtube'dan verileri amerikalılar kendileri çaldı. Musk verileri diğerlere kaptırmamak için twittere açık erişimi baya kısıtladı. Yani, imkan bulunca herkes çalıyor.
 
bir de şöyle bakın. en az gpt/claude kadar iyi. 440B yani en büyük modeli 440GB tutuyor bunu indir 3-4 milyon usd'lik bir server farmda çalıştır al sana kapalı ve tamamen sana ait yapay zeka modelin. ve en büyük modeli kullanmak zorunda da değilsin. 100-200k usd bedel ile mesela bir call center/helpdesk için iş görecek bir YZ elde edilebilir.
 
bir de şöyle bakın. en az gpt/claude kadar iyi. 440B yani en büyük modeli 440GB tutuyor bunu indir 3-4 milyon usd'lik bir server farmda çalıştır al sana kapalı ve tamamen sana ait yapay zeka modelin. ve en büyük modeli kullanmak zorunda da değilsin. 100-200k usd bedel ile mesela bir call center/helpdesk için iş görecek bir YZ elde edilebilir.
Bu linkte 8 mac-mini ile çalıştırmışlar.
 
Ben indirdim :) Ama bir fırsat bulunca çalıştıracağım. Paralel computing, çok sayıda istemci olduğu zaman gerekli olur. Benim indirdiğim sırf benim için çalışacağı için yeterince hızlı bir tepki verir diye tahmin ediyorum.
 
Bu arada, vscode için yeni extension çıkmış, lokalde kurulmuş llama ile beraber çalışıyor.
 

Forum istatistikleri

Konular
7,285
Mesajlar
123,159
Üyeler
2,939
Son üye
Cano

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top