fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.6K
active users

#optimization

10 posts9 participants0 posts today
Replied in thread

Logistic regression may be used for classification.

In order to preserve the convex nature for the loss function, a log-loss cost function has been designed for logistic regression. This cost function extremes at labels True and False.

The gradient for the loss function of logistic regression comes out to have the same form of terms as the gradient for the Least Squared Error.

More: baeldung.com/cs/gradient-desce

If the iPhone has a Silicon Carbon Battery, and if all hardware components, especially Apple's latest Bionic chip and display, are designed to maximize battery life, and if all apps and iOS are heavily optimized for enhanced battery life, and if grayscale mode and dark mode are on at all times, how many days could the battery of this iPhone last on a full charge?

Parquet’s the cool kid in the data world. 😎

It’s sleek, efficient, and powers formats like Iceberg and Delta Lake. But few understand Parquet's storage magic. 🪄

I wrote a blog that breaks it down in plain English. If you’ve ever wondered how Parquet squeezes more into less, this one’s for you.

👉 kpdata.dev/blog/what-is-a-parq

kpdata.devWhat Is A Parquet File?Parquet is all over the modern data stack. But do you understand how it works?

LLM на прокачку: практический гайд по Alignment

Мы в Точка Банке делаем свою LLM. Чтобы она работала хорошо, недостаточно просто обучить её на куче текстов. Для получения осмысленного и предсказуемого поведения модели, нужен Alignment — дообучение с учётом предпочтений и ограничений. В статье расскажу, какие методы применяют в современных моделях, и как мы адаптировали их под себя.

habr.com/ru/companies/tochka/a

ХабрLLM на прокачку: практический гайд по AlignmentМы в Точка Банке делаем свою LLM. Чтобы она работала хорошо, недостаточно просто обучить её на куче текстов. Для получения осмысленного и предсказуемого поведения модели, нужен Alignment — дообучение...

Автоматизированная оценка стабильности скоринговых моделей на основе временных рядов метрик

Привет, Хабр! Меня зовут Зотов Глеб, я ML-инженер в команде скоринга в билайне. В статье расскажу о том, как не сойти с ума, мониторя десятки графиков вручную. Скоринговая модель может быть блестящей на этапе обучения, показывать отличные значения всех метрик на кросс-валидации и радовать бизнес на первых неделях после деплоя. Но вжух — и через два месяца валидационные метрики поползли вниз, отклонения по PSI зашкаливают, а product owner уже поглядывает в твою сторону с подозрением. Проблема? Проблема. Давайте разберемся, почему так происходит и как можно этого избежать.

habr.com/ru/companies/beeline_

ХабрАвтоматизированная оценка стабильности скоринговых моделей на основе временных рядов метрикПривет, Хабр! Меня зовут Зотов Глеб, я ML-инженер в команде скоринга в билайне. В статье расскажу о том, как не сойти с ума, мониторя десятки графиков вручную.  Скоринговая модель может быть...

I wrote a work-stealing task queue library for Rust! It's called takeaway, and I just published a version I think is ready for use. The only popular task queue library out there (for Rust) is crossbeam-deque; compared to it, takeaway provides a higher-level API with a lot more features. I wrote it as part of my very-very-WIP Rust compiler, which needed the unique feature of task prioritization; takeaway's since grown a lot, and manages competitive (if not better) performance to crossbeam-deque! You can find it at crates.io/crates/takeaway; I've also written a blog post about the design and implementation process, at bal-e.org/speed/krabby/takeaway. If you're writing a performance-intensive, task-based program in Rust, or if you're already using crossbeam-deque, please check it out.

crates.iocrates.io: Rust Package Registry
mov rax, qword [r13 + 0x18]
add rax, 0x8
jns 0x14493
mov rcx, qword [r13 + 0x10]
mov qword [rcx + rax * 1], r15
mov qword [r13 + 0x18], rax

This beautiful sequence of instructions pushes an element into a custom-made interior-mutable Vec. The control variable in rax does all the heavy lifting:

  • It has special values if the Vec is borrowed or has reached capacity, so I can drop to a slow path to handle either case.
  • The add operation, which updates it to account for the element we're trying to insert, generates a condition flag which tells us whether to fall back to the slow path.
  • It is also used as the offset for the element in the Vec (with the element size pre-multiplied), so only the base address needs to be loaded alongside it.

It took me 5 hours to put together over the last few days, with a record 47 unsafe blocks (rewrites and cleanups pending). It's led to a ~4% speed boost. I love doing things like this so much.