Там вообще было интересно, мы переходили на x64 и как раз менялись поколения Xeon’ов и замеры показывали, как на старой платформе x86 код выполнялся быстрее x64 кода на этой же платформе, а на новой уже наоборот - x64 был быстрее x86 (бинарники, естественно, одни и те же для старой и новой). Наверное Интел слегка подзабила на оптимизацию x86 стека.
Отвечу я - иногда компилятору не хватает знаний о решаемой задаче и возможных значениях переменных. У меня был случай году в 2018, когда пришлось несколько раз править кусок кода на C пока компилятор (последний msvc) не смог сгенерировать хороший ассемблерный код. Там приходилось прибегать к развороту цикла, подбору битности и знаковости переменных, даже создавать промежуточные переменные, чтобы результаты операций правильно и эффективно считались. Но, конечно, это все точечные истории, и остальная кодовая база на 2.5 млн строк собиралась без такого фанатизма.
Профессиональные железки по большому счету нужны только для дообучения, инференс вполне хорошо работает на бытовых картах. Но надо уметь делать “RAIG” массивы, чтобы переживать выпадание уработавшейся карты.
Есть у меня знакомый, с которым мы как-то разговорились на тему электромобилей. Я - владелец одного из них, он - скептик. Один из его аргументов был тоже про зарядку, что где ты её найдешь.
Поболтали и разошлись, а вечером он мне прислал фото зарядной станции, которая стоит в его дворе и мимо которой он постоянно ходит. Пока она ему была не нужна - он не замечал её и не знал, что она настолько близко :)
Если интересно посмотреть, то в приложении 2chargers для мобильного есть оочень подробная карта зарядок, вплоть до розеток, вывешенных хозяевами частных домов на улицу. К сожалению, онлайн версии нет, только приложение (
Ну вообще на рынке всегда продают "лекарства от боли". И новые успешные продукты обычно именно решают чью-то "боль". И у инвесторов тоже довольно часто возникает вопрос "а чью боль это решает и сколько у него денег"?
И это мы ещё не пошли в медицину, где денег на боль дают и очень даже много.
Вопрос не в том, кто быстрее, а кто смог или не смог решить задачу. Вы превзойдете калькулятор в сложении больших чисел, он не превзойдет вас ни в чём.
Если F1 считается по точному совпадению с эталонной разметкой (тексту того, что надо выделить), то на каше будет нулевая оценка. В этом плане попугаи этой меры вполне понятны. Да, обычно извлекаются какие-то уникальные для документа поля, поэтому знание о мире тут не помогает LLM'ке выдумать правильный ответ.
Для оценки качества извлечения используются значение поля, извлечённого LLM, и эталонное значение поля, написанное вручную. При этом ручная разметка делается с исправлением OCR-артефактов, так что текст эталона может отличаться от текста поля из документа,идущего в LLM. Я не понимаю, к чему тут расстояния между текстами по математике и договорами, можете, пожалуйста, другими словами это пояснить? Имеется в виду какой-то вариант автоматической оценки качества без написания эталонов полей?
Считать эф-меру по порогу косинусного расстояния действительно не показательно, но так и не делают для простых полей. А для сложных типа "условия поставки" можно использовать другую LLM с вопросом "соответствует ли найденное эталону".
Контексты извлеченных полей в рамках работы с реальными документами оказываются не нужны. Клиенту без разницы, с какой именно страницы будет извлечена дата договора (если она находится в хедере каждой страницы), равно как и без разницы, откуда возьмутся стороны договора - из преамбулы или реквизитов. Вопрос про контексты был в другом Вашем комментарии, я объединил ответы.
Если сеть сгаллюцинировала ответ, то отличаться будут сильно. А сопоставлять эталон и извлечённые поля можно и посимвольно, сеть же попросили в именительном падеже вернуть ответ.
Обычно "посчитать на пальцах" означает "записать в унарной системе счисления с помощью пальцев". А мой комментарий к тому, что на любого зануду найдется зануда покрупнее.
А как вы оцениваете это время? У меня, например, фиксированная зарплата, и если я на несколько часов задержусь на работе - получу ноль дополнительных рублей. Я не подрабатываю на шабашках, не таксую, не хожу на сторону фриланса. Даже если бы ходил, то с огромной долей вероятности стоимость часа была бы на порядок меньше текущей. Таким образом моё нерабочее время стоит ровно ноль рублей в час.
Git сохраняет новые версии бинарных файлов как отдельные копии, не показывая подробные различия между ними, что затрудняет отслеживание изменений с течением времени.
А DVC разве умеет показывать diff для хранимых в нём файлов?
И да, и нет. Если бы было по-вашему, то пакетизация (batch) запросов не имела бы смысла, но она довольно часто полезна. Зависит всё от модельки и соотношения flops/bandwidth. При инференсе надо многократно прогонять всю модельку от GPU RAM до вычислительных ядер и, если их в избытке, память становится бутылочным горлышком. Но я встречал и случаи, batch size = 1 работал так же хорошо. Вот есть неплохая статья на эту тему https://www.artfintel.com/p/how-does-batching-work-on-modern
Там вообще было интересно, мы переходили на x64 и как раз менялись поколения Xeon’ов и замеры показывали, как на старой платформе x86 код выполнялся быстрее x64 кода на этой же платформе, а на новой уже наоборот - x64 был быстрее x86 (бинарники, естественно, одни и те же для старой и новой). Наверное Интел слегка подзабила на оптимизацию x86 стека.
Отвечу я - иногда компилятору не хватает знаний о решаемой задаче и возможных значениях переменных. У меня был случай году в 2018, когда пришлось несколько раз править кусок кода на C пока компилятор (последний msvc) не смог сгенерировать хороший ассемблерный код. Там приходилось прибегать к развороту цикла, подбору битности и знаковости переменных, даже создавать промежуточные переменные, чтобы результаты операций правильно и эффективно считались. Но, конечно, это все точечные истории, и остальная кодовая база на 2.5 млн строк собиралась без такого фанатизма.
Профессиональные железки по большому счету нужны только для дообучения, инференс вполне хорошо работает на бытовых картах. Но надо уметь делать “RAIG” массивы, чтобы переживать выпадание уработавшейся карты.
А вот это интересно, спасибо.
Есть у меня знакомый, с которым мы как-то разговорились на тему электромобилей. Я - владелец одного из них, он - скептик. Один из его аргументов был тоже про зарядку, что где ты её найдешь.
Поболтали и разошлись, а вечером он мне прислал фото зарядной станции, которая стоит в его дворе и мимо которой он постоянно ходит. Пока она ему была не нужна - он не замечал её и не знал, что она настолько близко :)
Если интересно посмотреть, то в приложении 2chargers для мобильного есть оочень подробная карта зарядок, вплоть до розеток, вывешенных хозяевами частных домов на улицу. К сожалению, онлайн версии нет, только приложение (
Ну я-то картинку удалил, а сервер Макса продолжает распространять. А повлиять на это я никак больше не могу.
То есть можно понаотправлять разных картинок, потом удалить их, а потом пожаловаться в РКН на распространение Максом всякого запрещённого?
Стояла "стандартная", попробуем "турбо", спасибо. Возможно, "проблема" в четырех детях и трёх котах)
Увы, нет. Может и сильно меньше, но всё равно наматывает.
Ну вообще на рынке всегда продают "лекарства от боли". И новые успешные продукты обычно именно решают чью-то "боль". И у инвесторов тоже довольно часто возникает вопрос "а чью боль это решает и сколько у него денег"?
И это мы ещё не пошли в медицину, где денег на боль дают и очень даже много.
Вопрос не в том, кто быстрее, а кто смог или не смог решить задачу. Вы превзойдете калькулятор в сложении больших чисел, он не превзойдет вас ни в чём.
Если F1 считается по точному совпадению с эталонной разметкой (тексту того, что надо выделить), то на каше будет нулевая оценка. В этом плане попугаи этой меры вполне понятны. Да, обычно извлекаются какие-то уникальные для документа поля, поэтому знание о мире тут не помогает LLM'ке выдумать правильный ответ.
Для оценки качества извлечения используются значение поля, извлечённого LLM, и эталонное значение поля, написанное вручную. При этом ручная разметка делается с исправлением OCR-артефактов, так что текст эталона может отличаться от текста поля из документа,идущего в LLM. Я не понимаю, к чему тут расстояния между текстами по математике и договорами, можете, пожалуйста, другими словами это пояснить? Имеется в виду какой-то вариант автоматической оценки качества без написания эталонов полей?
Считать эф-меру по порогу косинусного расстояния действительно не показательно, но так и не делают для простых полей. А для сложных типа "условия поставки" можно использовать другую LLM с вопросом "соответствует ли найденное эталону".
Контексты извлеченных полей в рамках работы с реальными документами оказываются не нужны. Клиенту без разницы, с какой именно страницы будет извлечена дата договора (если она находится в хедере каждой страницы), равно как и без разницы, откуда возьмутся стороны договора - из преамбулы или реквизитов. Вопрос про контексты был в другом Вашем комментарии, я объединил ответы.
Если сеть сгаллюцинировала ответ, то отличаться будут сильно.
А сопоставлять эталон и извлечённые поля можно и посимвольно, сеть же попросили в именительном падеже вернуть ответ.
F1 метрика это про другое.
А где в тексте проверка точности по косинусному расстоянию? Несколько раз перечитал, не увидел.
Обычно "посчитать на пальцах" означает "записать в унарной системе счисления с помощью пальцев". А мой комментарий к тому, что на любого зануду найдется зануда покрупнее.
Накладывает. Число атомов во Вселенной нельзя посчитать на пальцах рук.
А как вы оцениваете это время? У меня, например, фиксированная зарплата, и если я на несколько часов задержусь на работе - получу ноль дополнительных рублей. Я не подрабатываю на шабашках, не таксую, не хожу на сторону фриланса. Даже если бы ходил, то с огромной долей вероятности стоимость часа была бы на порядок меньше текущей. Таким образом моё нерабочее время стоит ровно ноль рублей в час.
А как у вас? Как именно вы его считаете?
А DVC разве умеет показывать diff для хранимых в нём файлов?
И да, и нет. Если бы было по-вашему, то пакетизация (batch) запросов не имела бы смысла, но она довольно часто полезна. Зависит всё от модельки и соотношения flops/bandwidth. При инференсе надо многократно прогонять всю модельку от GPU RAM до вычислительных ядер и, если их в избытке, память становится бутылочным горлышком. Но я встречал и случаи, batch size = 1 работал так же хорошо. Вот есть неплохая статья на эту тему https://www.artfintel.com/p/how-does-batching-work-on-modern