
Комментарии 17
Непонятно только для чего взята такая кривая модель, как Qwen. Gemma3 есть, с отличной логикой и отличным русским. OpenAI тоже не плох, но гугловская лучше. Странно что 8В не влезла в 24Гб, можно было и на процессоре частично попробовать а не только на видео и модель 27 выбрать.
С китайскими Дипсик и Квен у меня вообще ни одного результата не было нормального, вот вообще ни одного. Куча кривых рассуждений, потеря логики и целей и подмена и незаметное исправление задания. Джема или Джемини все с первого раза делает, даже не требует поправок. Попробуй, вдруг зайдет.
Спасибо за совет! Да, действительно у китайских моделей есть проблемы. Возможно, из-за обилия в них китайского языка и при запросе на английском они могут "паниковать" и галлюцинировать (что и наблюдалось в моих тестах). Но выбрал я их все-таки из-за того, что касательно кода лучшие результаты мне выдавали как раз дипсик и квен. И я понятия не имею почему)
Что насчёт морально-этической стороны вопроса? Для неспециалистов поясню, что речь идёт о проектировании несущей способности зданий, которые сейчас возводятся преимущественно из монолитного железобетона. Вручную этот вид конструкций рассчитать практически невозможно, поэтому их полностью моделируют и полагаются на результат машинного расчёта. Т.о. эта задача сводится к "засунуть данные в чёрный ящик" и затем следовать результатам, которые невозможно перепроверить (упростил ради ясности). Вместо инженера становится достаточно оператора. А человек, как известно, закономерно достигает уровня своей некомпетентности на текущей позиции. Эта проблема стала очевидной задолго до ИИ и в разных странах её нивелируют как могут на нормативном уровне. В России, к примеру, закон требует проводить эти вычисления не менее чем в двух разных "чёрных ящиках", чтобы можно было обезопасить себя от ошибочного ввода исходных данных и сопоставить результаты. Прочитайте предыдущее предложение ещё раз. И если оператор решит ещё более упростить себе жизнь, скармливая исходные данные в чёрный ящик с помощью ИИ, то именно так это и будет попадать в продакшн. И если это будет проще на порядок, то именно на порядок больше и попадёт. Не думаю, что автор этого поста по случайному совпадению только сегодня утром завёл себе аккаунт на хабре и не имеет ни статей, ни комментов. Ибо вопрос, скажем так, деликатный...
Так может речь не о полном доверии ИИ, а на быстрой отработке идей и прототипов? После которых будет найдет 1-3 варианта для полноценного расчета. Тогда можно быстрее и проще проверять больше вариантов которые в другом случаи не взяли работу из-за рисков с расчетами. А так быстрее подсчитали, выявили больше потенциально успешных решений и уже с ними работать.
Так, ну начну с того, что я не недавно тут. Просто опытом своих разработок я еще здесь не делился, и подумал, что возможно здесь найдутся люди, которые дадут хорошие советы по реализации моих идей.
В чем, собственно цель моего проекта. Софистик - очень сложный инструмент, но при этом максимальную гибкость ему дает знание языка cadinp, и я считаю, что инженер не обязан его знать. Я лично не учился на программиста и мне хватает вещей, которые я должен знать и постоянно изучать в своей работе. Инженер, например, обязан знать и понимать, как работают конструкции. Должен, посмотрев на расчет, понять, соответствует ли действительности то, что ему показывает программа. Нейросети, мкэ-программы и программы для 3д-моделирования - были, есть и останутся только инструментами.
А что касается этики: цель моего проекта - не заменять инженеров операторами. Экспертиза чаще всего требует, чтобы помимо красивых картинок из программ для конечно-элементного анализа вы прилагали аналитический расчет. И не только экспертиза, сами инженеры не любят рисковать. К Вашим словам по поводу черных ящиков я добавлю, что мы не только проверяем расчеты в нескольких программах, но и почти всегда проверяем сами программы аналитическими методами, вручную. А это, как Вы можете догадаться, занимает время.
Если Вы боитесь, что развитие технологий и ускорение работы в программах как-то затронет качество расчетов, то претензии я бы тут предъявлял определенно не к людям, которые хотят упростить жизнь инженерам. А, например, к университетам, которые не дают достаточного уровня знаний и понимания, что вообще такое - работа инженером. Либо к застройщикам/заказчикам, которые зачастую от своих подрядчиков требуют невыполнимых сроков и максимально экономные варианты проектирования, что максимально увеличивает шанс ошибки банально из-за человеческого фактора.
У Вас еще август? И обязательно пихать теории заговора в техническую статью? Если человек пытается облегчить рутину себе и другим это разве плохо? Лень - двигатель прогресса 😉.
Мой комментарий — про морально-этический аспект. Это вы уже сами додумали про его взаимоисключающую роль в прогрессе… В любом случае, я оставил комментарий как историческую фиксацию, чисто риторически. Позже, когда стрелка часов «вы здесь» неожиданно достигнет развязки «ой, а кто это сделал?» (© Людвиг Аристархович), я смогу показать: это было вот так, с нарочито невинной простотой, с оправданиями в духе «это всё виноваты университеты, заказчики, застройщики», а также с широкого социального одобрения и даже защиты.
Я немного в теме и поэтому знаю, где тут красные флажки, а где зелёные. Когда другие ребята пишут статьи в духе «посмотрите на нас и на проект, который мы собрали в BIM» нет смысла не использовать саморекламу: и сами ребята, и их объекты и заказчики — всё на виду. Но совсем другое дело демонстрировать «смотрите: у нас один новый чёрный ящик командует другим старым, и выдаёт потенциально непроверяемые параметры для строительства высотного комплекса, изящно сочетающего роскошь, статус, комфорт, ваш ежемесячный платёж и страховые взносы, а также гарантии безопасности ваших родных и близких; и всё это, разумеется, вдохновлено лучшими мировыми образцами архитектуры, основано на реальном многолетнем опыте и тщательно продумано в мелочах!» И в этом принципиальная разница между открытыми BIM-ребятами и автором поста, который не сообщает ничего ни о себе, ни о своих заказчиках, ни о своих объектах. И не сообщит, потому что понимает. И со стороны тоже понятно. И что тут поделать?
Наивные допущения о том, что в стране есть отрасли и направления которые ОГО-ГО — гордо функционируют совершенно иначе, чем в среднем по больнице, я полагаю, все уже наглядно продемонстрированы и успешно посрамлены. Строительная отрасль — здесь не исключение, просто поверьте. Если кто-то решит интегрировать в свой рабочий процесс ИИшечку и что это норм, то единственным оппонентом на этом пути будет разве что рандомный аноним на Хабре. По крайней мере, до жертв.
Хорошая работа, хорошая статья! Плюсовать не дают, но спасибо скажу.
Есть вопрос: вот пример рассуждения про проверку оси - чем он обеспечен в датасете?
Есть образцы рассуждений прямо по данному вопросу?
Есть образцы общих/отвлеченных рассуждений плюс эта логика акцентирована в решениях?
Или как?
Сколько образцов нужно на такой кейс?
Как их готовили? Синтетика старшей моделью на комментировании образцов кода?
И ещё аналогичный вопрос по обучению синтаксису: что ей нужно показать, чтобы она его начала понимать строго?
К сожалению в сети полно хороших объяснялок, как учить, но про подготовку датасета все рассказывают как художники про рисование совы: рисуем овал, ещё овал... И что дальше здесь пёрышки докрашиваем :)
Если бы Вы немного рассказали по этой теме, был бы благодарен.
Здравствуйте, спасибо большое за отзыв!
Касательно составления датасета - тут, судя по всему, Вы правильно написали. Много нюансов и нет конкретного "рецепта" на мой, или схожий с моим, кейсы. Поэтому в самой первой версии (тогда это еще была не "reasoning" модель) датасет был составлен по принципу "вопрос пользователя - ответ нейросети". И во время тестирования я обратил внимание, в чем она ошибается. А ошибалась она примерно во всем. Я понял, что при работе с кодом мне желательно в каждой инструкции как-нибудь прописать логику работы и последовательность написания команд. Надо научить нейросеть, что, например, блок модуля AQUA (ответственный за назначение материалов) не может идти после ASE (модуль, осуществляющий линейный статический анализ). Для этого я и ввел блок <think>, в котором буквально в каждой инструкции в датасете на каждый пример прописаны: последовательность модулей, последовательность команд и описание этих команд.
Датасет, естественно, составлялся на конкретных рабочих примерах и информации из официальных мануалов. Т.к это файн-тюнинг, а не тренировка с нуля, то в целом при работе с ней не нужно прописывать точный промпт, чтобы она поняла, что от нее требуется. Достаточно в коде упомянуть, что Вам нужен от нее код на cadinp.
Сколько образцов нужно для конечного продукта? Понятия не имею, если честно. Я написал об этой штуке везде, где только можно (включая линкедин, тэгнув при этом сам SOFISTIK AG) в надежде, что комьюнити инженеров поможет мне в тестировании. Чем больше будет выявлено и исправлено дыр в датасете - тем лучше она будет генерить код.
будущее за узкоспециализированными моделями! ну не нужны эти громадные комбайны которые и в философию могут, и 10 языков, и инженерию с медициной.
Поделитесь секретом, как 3500 примеров для датасета получить?) Я тоже сейчас с Qwen экспериментирую, для своей сферы применения правда, и я едва-едва 100 примеров сделал, правда я их накидывал вручную лично, долго и муторно...
Здравствуйте!
Само собой, я не составлял их полностью сам, мне в этом помогали нейронки. Их задачей было написать промпт на кусок реальной задачи (чатсть кода), которую я им скидывал + дать последовательность команд в модуле <think>. Я это все дело проверял, чтобы они не понапридумывали лишнего и заносил в датасет.
Однако даже не смотря на такую автоматизацию, на написание датасета уходит неприлично большое количество времени)
Лучше бы процесс тюнинга расписали а не вот это все тк там могут быть косяки
Лол
Fine-tuning Qwen-8B под проприетарный синтаксис (CADINP) на одной RTX 3090: опыт инженера-конструктора