Pull to refresh
26
0.2
Славик Фурсов@SlavikF

Developer

Send message

В этом и есть суть at-will employment, что контракта нету.

Конечно, можно назвать контрактом, что в оффере мне написали какая у меня будет зарплата - значит вот он контракт. Можно. Вот только никто это здесь контрактом не называет.

Контракт - это когда работадатель берёт на себя обязательства по тому, что он не уволит, если работник делает одно, другое, третье.. это есть в профсоюзах, в гос.учреждениях.

Но к программистам это не относится.

Программисты, которые в США работают на W-2, в большинстве случаев не имеют employment contract. В этом и есть суть At-will employment

скажут всерьез как обоснование

Какое обоснование? Зачем обоснование при at-will employment?

нарушение контракта? Какого контракта?

В США есть работники (employee) и контракторы.

И это вообще два мало пересекающихся мира.

У программистов в США (не контракторов) нет контракта в котором прописано сколько часов они должны работать.

Поэтому когда в прошлом месяце у нас упал важный сервис, то наш директор не парился насчёт часов, а написал всей нашей команде вечером: все присоединяемся на звонок сюда и чиним.

Но я не в стартапе, поэтому на следующей неделе, тот же директор написал нашей команде в пятницу: сегодня работаем до обеда, всем хорошим выходных.

А в стартапе - там каждый вечер надо чего то допиливать.

Когда Маск купил Твиттер, то он написал: все будут пахать, кто не хочет - свободны. Это не означает, что он менял контракт. Просто сказал и всё.

Если менеджер или директор посчитает, что кто-то не гребёт достаточно старательно, то никто никому ничего не доказывает: просто тебя зовут в кабинет и сообщают, что ты здесь больше не работаешь.

Слово "профсоюз" и "программист" в одном предложении практически не встречаются.

Серьёзно? Или это стёб такой?

Потому что когда смотришь на зарплаты программистов в США и сравниваешь с зарплатами программистов в Европе, то вообще непонятно, как в Европе вообще хоть кто-то остался? А если ещё на налоги посмотреть - то понятно, что у Европы нет никаких шансов.

А одна из причин почему зарплаты программистов в США в разы больше - это потому что работадатели здесь смелее нанимают людей. В Европе наймёшь человека - и замучаешься сокращать / увольнять с их законами. Лучше уж нанять подороже человека в США, и если что будет не так - то в любой момент можно будет проводить без лишней головной мороки.

Кого-то увольняют, кого-то нет.

Я когда приехал в США, то работал на стройке. Там если хоть немного алкоголя увидят / заподозрят - сразу увольняют.

Когда стал программистом, пришёл работать в один офис в Сиэттле, там на ланч мне стали показывать буфет - вот тут вино, пиво, ... - ни в чём себе не отказывай. Кстати пьяных в офисе я не видел - всё в меру.

Читал, что Сан-Франциско в некоторых офисах народ "грибами" закидывается, чтобы работать более "творчески". В офисе, на работе.

В США можно уволить любого работника без объяснения причин.

https://en.wikipedia.org/wiki/At-will_employment

Я с удивлением читаю как в России (и Европе) работадатели страдают какими "по соглашению сторон" и тому подобное. Здесь таким никто не заморачивается.

Некоторое исключение из этой практики тут - это если работник ДОКАЖЕТ, что его уволили по причине дискриминации. Что сделать довольно непросто.

У нас тут в США интересно сделано, что большинство "обычных" рабочих получают зарплату почасовую. Всё что больше 40 часов в неделю - оплата x1.5 за каждый час. В некоторых случаях это может подниматься до x2.

А вот работники, которые зарабатывают больше - директора, доктора, программисты - называются exempt employees (буквально - исключительные работники). Зарплата у них обычно - месячная. Почасовой ставки нет, что означает, что если они работают большее количество часов - то больше они НЕ получают. Правда, я тут постоянно вижу, как такие работники быстро поняли, что если работать меньшее количество часов, то и меньше получать тоже НЕ будешь, поэтому приходят на работу к обеду, ходят по своим делам в течении дня...

Как запустить эту модель с контекстом 128К?

Достаточно ли просто в параметрах llama.cpp написать этот параметр или надо каким-то образом активировать RoPE scaling?

упирается все в физическое ограничение

Я не соглашусь.

Вот например карточка RTX 4090 работает на скорости 1000 GB/s и не упирается в физические ограничения.

Проблема с технологиями последнего поколения всегда в том, что есть какие-то сценарии (edge cases), которые ещё не очень понятны.

Вот взял я 8 каналов памяти DDR5, но похоже для DELL планки нужно было брать 1Rx8, а не 2Rx4. Сейчас про это информации нигде нет, даже в официальном гайде у производителя материнской платы, а через пару лет это будет уже известно шире, и те, кто будут делать такую систему - получает не 190ГБ/c как я, а 250ГБ/c. А с другими материнками (или chipset?) 2Rx4 будут работать нормально.

Или вот взял я Xeon W5-3425, потому что везде пишут, что на процессоре инференция упирается в скорость памяти, а не в скорость процессора. Вот только нигде не пишут, что при некотором малом числе ядер - тем или иным образом скорость упрётся в это. И похоже оптимально иметь 24 ядра, - тогда наверное можно будет получить и около 300 GB/s на 8 каналов.

Вот первопроходцы и набивают шишки.

Кстати, вот ещё некоторые обнаруженных факторов, влияющих на инференцию на CPU, которые только-только начинают быть понятными:

  • современный софт для инференции не умеет работать с несколько процессорами - только с одним. Инференция на двух процессорах работает МЕДЛЕННЕЕ, чем на одном.

  • У AMD есть процессоры с большим количество ядер, поддержкой 12 каналов DDR5 памяти, - но оказывается, что там ядра разделены на группы CCD, и если этих групп мало, то работа с памятью никогда не будет на полной скорости. Для многих моделей процессоров 8-канальные Xeon будут быстрее 12-канальных AMD.

371 GB ubergarm / Kimi-K2-Instruct-GGUF / IQ2_KL

452 GB unsloth / Kimi-K2-Instruct-GGUF / UD-Q3_K_XL

588 GB unsloth / Kimi-K2-Instruct-GGUF / UD-Q4_K_XL

Я запустил IQ2_KL квант вот отсюда:

https://huggingface.co/ubergarm/Kimi-K2-Instruct-GGUF

- Intel Xeon W5-3425, 12 ядер
- 384GB RAM DDR5-4800
- Nvidia RTX 4090D 48GB

Получил скорость генерации токенов 6.4 tok/sec

Обработка промпта - 44 tok/sec

Контекст: 32768 токенов

Я вот как раз этим и занялся. Запускал Deepseek V3, Qwen235 и тому подобное.

У меня стоит Nvidia 4090D 48GB, но большие модели не помещаются.

Сначала взял себе Dell Precision 7920, Intel Xeon Gold 5218:

  • 6 каналов памяти

  • DDR4-2667

  • я поставил 6 планок по 64 GB (на Ebay каждая планка стоит около $70). Теоретически должно получиться 128GB/s. Intel mlc показывал, что у меня скорость - 121 GB/s. Stream показывал скорость 81 GB/s.

Опытным путём выяснил, что 120 GB/s - это медленно для больших моделей.

Взял Dell Precision T7960, Intel Xeon W5-3425:

  • 8 каналов памяти

  • DDR5-4800

  • я поставил 8 планок по 64 GB (на Ebay каждая планка $260). Теоретически должно получиться 307 GB/s. Intel mlc показывает скорость до 190 GB/s. Маловато. Я стал разбираться: BIOS показывает, что у меня память работает в "Mixed mode", а как я думаю - должна в "Octa mode". Может быть проблема в том, что рэнкинг у меня 2Rx4, а я подозреваю, что с моим контроллеров памяти (Intel W790) похоже нужно 1Rx8 (такие на Ebay стоят $380 за планку и там написано что эти планки - для Dell). Получается надо выложить $3000 только за память, но я не уверен, что это решит вопрос: продолжаю разбираться - уже неделю переписываюсь в поддержкой Dell.

  • Ещё читал что процессоры поколения Intel Xeon W5-3425 способны "переваривать" около 20 GB/s на каждом ядре. У меня 12 ядер и получается, что даже если память разгонится на 307 GB/s, то процессор сможет держать только около 240 GB/s. Но пока вот получается около 190 GB/s. Так что наверное надо было брать процессор с 20+ ядрами. Но у процессоров с большим количество ядер - ниже тактовая частота, и я не уверен, что важнее.

То есть получается, что перейдя с Xeon 5218+DDR4 -> Xeon W5-3425+DDR5:

  • память ускорилась со 120 GB/s -> 190 GB/s

  • памяти стало больше: 384 GB -> 512 GB

  • я заплатил около $2500+ за апгрейд.

  • ещё на новом процессоре я получил AMX (Advanced Matrix Extensions), который значительно ускоряет обработку промптов (Prompt processing) при инференции и PCIe 5.0.

Для сравнения, у Nvidia RTX 4090D, скорость памяти: 1000 GB/s

Во первых, gasoline (бензин) это совершенно не natural gas (газ).

Во вторых тут у нас в США практически нет машин на газе (natural gas). Так что никому не может даже в голову прийти проводить какие-то исследования рынка таких автомобилей. Нет такого рынка.

А у бензиновых машин нет тормозов? Или почему в электромобилях надо решать что-то с тормозами?

Кстати: тормоза у электромашин расходуются в разы медленнее (потому что рекуперация), а покрышки - быстрее (потому что электромашины обычно тяжелее).

Товарищ Вячеслав Голованов, который "Проповедую в храме науки".

Когда вы будете свободны от религиозных занятий, то советую познакомиться, что "gasoline" - это не "с газовым оборудованием" и не "газовые автомобили", а - бензиновые.

Спасибо.

Я на этой неделе игрался с этой моделью в Invoke. Они поддерживают её в 6й версии. Там вроде бы попроще запуститься.

Работает. Но на сайте Flux Kontext выдаёт результат лучше, чем в Invoke. Надо будет попробовать с Comfy...

я перепутал в сообщении выше 🤦

Это ik_llama 2.7 раза быстрее обрабатывает промпт...

Запустить эту же самую модель на llama.cpp я не могу, так как она несовместима.

Запустил другую: недавно вышла интересная модель: https://huggingface.co/unsloth/DeepSeek-TNG-R1T2-Chimera-GGUF

Я запустил квант UD-IQ2_M (213 GB) - это приблизительно такой же размер, как и в моём сообщении выше. Запускал llama.cpp с параметрами:

--model ./models--unsloth--DeepSeek-TNG-R1T2-Chimera-GGUF/UD-IQ2_M
--ctx-size 32768
--cache-type-k q8_0
--cache-type-v q8_0
--flash-attn
--threads 12
--host 0.0.0.0 --port 37000
--temp 0.6 --top-p 0.95
--n-gpu-layers 999
--override-tensor "blk\.(3|4|5|6|7|8|9|10|11)\.ffn_.*=CUDA0"
--override-tensor "blk\.(12|13|14|15|16)\.ffn_.*=CUDA1"
--override-tensor exps=CPU

лог:

ggml_cuda_init: GGML_CUDA_FORCE_MMQ: no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init:
found 2 CUDA devices:
Device 0: NVIDIA GeForce RTX 4090 D, compute capability 8.9, VMM: yes
Device 1: NVIDIA GeForce RTX 3090, compute capability 8.6, VMM: yes load_backend: loaded CUDA backend from /app/
libggml-cuda.so
load_backend: loaded CPU backend from /app/
libggml-cpu-sapphirerapids.so
build: 5830 (bac8bed2) with cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 for x86_64-linux-gnu
system_info: n_threads = 12 (n_threads_batch = 12) / 12
| CUDA : ARCHS = 500,610,700,750,800,860,890
| USE_GRAPHS = 1
| PEER_MAX_BATCH_SIZE = 128
| CPU : SSE3 = 1
| SSSE3 = 1
| AVX = 1
| AVX2 = 1
| F16C = 1
| FMA = 1
| BMI2 = 1
| AVX512 = 1
| AVX512_VBMI = 1
| AVX512_VNNI = 1
| AVX512_BF16 = 1
| AMX_INT8 = 1
| LLAMAFILE = 1
| OPENMP = 1
| REPACK = 1


Получил скорость на 2 GPU:
prompt eval time = 53671.03 ms / 1268 tokens ( 42.33 ms per token, 23.63 tokens per second)
eval time = 389557.42 ms / 1731 tokens ( 225.05 ms per token, 4.44 tokens per second)


На одном RTX 4090D 48GB:
prompt eval time = 58561.21 ms / 1273 tokens ( 46.00 ms per token, 21.74 tokens per second)
eval time = 371584.74 ms / 1566 tokens ( 237.28 ms per token, 4.21 tokens per second)

Запустил эту же модель на ik_llama.cpp на одной RTX 4090D:

prompt eval time = 21474.45 ms / 1265 tokens ( 16.98 ms per token, 58.91 tokens per second)

generation eval time = 396856.15 ms / 1690 runs ( 234.83 ms per token, 4.26 tokens per second)

Вывод:

  • Для обычных моделей llama.cpp и ik_llama.cpp приблизительно одинаковы по скорости генерации токенов. По обработке промпта llama.cpp в 2.7 раза быстрее, - думаю что это из-за AMX.

  • ik_llama.cpp работает в 2-3 раза быстрее только с оптимизированными моделями (_R4):

PP: 164 t/s vs 58 t/s

TG: 8.5 t/s vs 4.2 t/s

Интересно, если в ik_llama.cpp завезут AMX, - она вообще уйдёт в отрыв по скорости обработки промпта?

Отправил инфо про это разрабам тоже: https://github.com/ikawrakow/ik_llama.cpp/issues/437#issuecomment-3040885214

Information

Rating
2,752-nd
Location
Greenville, South Carolina, США
Registered
Activity